Namespaces
Variants

std::unordered_set<Key,Hash,KeyEqual,Allocator>:: contains

From cppreference.net

bool contains ( const Key & key ) const ;
(1) (desde C++20)
(constexpr desde C++26)
template < class K >
bool contains ( const K & x ) const ;
(2) (desde C++20)
(constexpr desde C++26)
1) Comprueba si existe un elemento con clave equivalente a key en el contenedor.
2) Comprueba si existe un elemento con clave que compare equivalente a x .
Esta sobrecarga participa en la resolución de sobrecarga solo si Hash y KeyEqual son ambos transparentes . Esto asume que dicho Hash es invocable tanto con el tipo K como con el tipo Key , y que el KeyEqual es transparente, lo que, en conjunto, permite llamar a esta función sin construir una instancia de Key .

Contenidos

Parámetros

key - valor clave del elemento a buscar
x - un valor de cualquier tipo que puede compararse transparentemente con una clave

Valor de retorno

true si existe tal elemento, de lo contrario false .

Complejidad

Constante en promedio, caso lineal en el peor de los casos en el tamaño del contenedor.

Ejemplo

#include <iostream>
#include <unordered_set>
int main()
{
    std::unordered_set<int> example{1, 2, 3, 4};
    for (int x : {2, 5})
        if (example.contains(x))
            std::cout << x << ": Found\n";
        else
            std::cout << x << ": Not found\n";
}

Salida:

2: Found
5: Not found

Véase también

encuentra elemento con clave específica
(función miembro pública)
devuelve el número de elementos que coinciden con una clave específica
(función miembro pública)
devuelve el rango de elementos que coinciden con una clave específica
(función miembro pública)