multiset::find

Devuelve un iterador que dirige la primera ubicación de un elemento en un conjunto múltiple que tiene un equivalente key en una clave especificada.

iterator find(
   const Key& _Key
);
const_iterator find(
   const Key& _Key
) const;

Parámetros

  • _Key
    La clave que se coincidirá con el criterio de ordenación de un elemento de conjunto múltiple que se busca.

Valor devuelto

iterador o const_iterator que dirige la primera ubicación de un elemento con una clave especificada, o la ubicación que funciona correctamente el último elemento del conjunto múltiple si no se encuentra ninguna coincidencia para la clave.

Comentarios

La función miembro devuelve un iterador que dirige un elemento del conjunto múltiple cuyo criterio de ordenación es equivalente a la clave del argumento en predicado binario que induzca orden basado en menos que la relación de la comparabilidad.

Si el valor devuelto de búsqueda se asigna a const_iterator, el objeto de conjunto múltiple no puede modificarse.Si el valor devuelto de búsqueda se asigna a iterador, el objeto de conjunto múltiple puede modificarse.

Ejemplo

// multiset_find.cpp
// compile with: /EHsc
#include <set>
#include <iostream>

int main( )
{
   using namespace std;   
   multiset <int> ms1;
   multiset <int> :: const_iterator ms1_AcIter, ms1_RcIter;
   
   ms1.insert( 10 );
   ms1.insert( 20 );
   ms1.insert( 20 );

   ms1_RcIter = ms1.find( 20 );
   cout << "The first element of multiset ms1 with a key of 20 is: "
        << *ms1_RcIter << "." << endl;

   ms1_RcIter = ms1.find( 40 );

   // If no match is found for the key, end( ) is returned
   if ( ms1_RcIter == ms1.end( ) )
      cout << "The multiset ms1 doesn't have an element "
              << "with a key of 40." << endl;
   else
      cout << "The element of multiset ms1 with a key of 40 is: "
           << *ms1_RcIter << "." << endl;

   // The element at a specific location in the multiset can be
   // found using a dereferenced iterator addressing the location
   ms1_AcIter = ms1.end( );
   ms1_AcIter--;
   ms1_RcIter = ms1.find( *ms1_AcIter );
   cout << "The first element of ms1 with a key matching" << endl
        << "that of the last element is: "
        << *ms1_RcIter << "." << endl;

   // Note that the first element with a key equal to
   // the key of the last element is not the last element
   if ( ms1_RcIter == --ms1.end( ) )
      cout << "This is the last element of multiset ms1."
           << endl;
   else
      cout << "This is not the last element of multiset ms1."
           << endl;
}
  
  
  
  

Requisitos

encabezado: <conjunto>

espacio de nombres: std

Vea también

Referencia

multiset Class

Biblioteca de plantillas estándar