如何检查元素是否在 C++ 的 std::set 中?
大家好!我最近开始学习 C++,遇到了一个问题:我需要检查某个值是否存在于 `std::set` 容器中。我知道 `std::set` 以排序顺序存储唯一元素,但不知道如何正确检查元素是否存在。\n\n例如,我有这样的代码:\n\n```cpp\n#include \n#include \n\nint main() {\n std::set numbers = {10, 20, 30, 40, 50};\n int value = 30;\n \n // 如何检查 value 是否在 numbers 中?\n // 我试过 numbers.contains(value),但编译器报错。\n \n return 0;\n}\n```\n\n我听说 C++20 中引入了 `contains` 方法,但我的编译器不支持(我使用 C++17)。我试过用 `find`,但不完全理解如何比较 iterator。也许有更简单的方法?\n\n请告诉我如何正确实现,并解释这些方法之间的区别。提前谢谢!\n<<>>\n