Cómo verificar si un elemento está en std::set en C++?
¡Hola a todos! Recientemente empecé a aprender C++ y me encontré con este problema: necesito verificar si un valor específico está en el contenedor `std::set`. Sé que `std::set` almacena elementos únicos en orden ascendente, pero no entiendo cómo verificar correctamente la presencia de un elemento.
Por ejemplo, tengo este código:
```cpp
#include
#include
int main() {
std::set numbers = {10, 20, 30, 40, 50};
int value = 30;
// ¿Cómo verificar si value está en numbers?
// Intenté numbers.contains(value), pero el compilador se queja.
return 0;
}
```
He oído que en C++20 apareció el método `contains`, pero mi compilador no lo soporta (uso C++17). Intenté usar `find`, pero no entiendo bien cómo comparar el iterator. ¿Quizás hay una forma más simple?
Por favor, indíquenme cómo hacerlo correctamente y expliquen la diferencia entre los métodos. ¡Gracias de antemano!