Compartir a través de


multimap::find

Devuelve un iterador que dirige la primera ubicación de un elemento en un multimap 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 multimap que se busca.

Valor devuelto

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

Comentarios

La función miembro devuelve un iterador que dirige un elemento en el multimap 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 multimap no puede modificarse.Si el valor devuelto de búsqueda se asigna a iterador, el objeto de multimap puede modificarse.

Ejemplo

// multimap_find.cpp
// compile with: /EHsc
#include <map>
#include <iostream>

int main( )
{
   using namespace std;
   multimap <int, int> m1;
   multimap <int, int> :: const_iterator m1_AcIter, m1_RcIter;
   typedef pair <int, int> Int_Pair;

   m1.insert ( Int_Pair ( 1, 10 ) );
   m1.insert ( Int_Pair ( 2, 20 ) );
   m1.insert ( Int_Pair ( 3, 20 ) );
   m1.insert ( Int_Pair ( 3, 30 ) );

   m1_RcIter = m1.find( 2 );
   cout << "The element of multimap m1 with a key of 2 is: "
        << m1_RcIter -> second << "." << endl;

   m1_RcIter = m1.find( 3 );
   cout << "The first element of multimap m1 with a key of 3 is: "
        << m1_RcIter -> second << "." << endl;

   // If no match is found for the key, end( ) is returned
   m1_RcIter = m1.find( 4 );

   if ( m1_RcIter == m1.end( ) )
      cout << "The multimap m1 doesn't have an element "
           << "with a key of 4." << endl;
   else
      cout << "The element of multimap m1 with a key of 4 is: "
           << m1_RcIter -> second << "." << endl;

   // The element at a specific location in the multimap can be
   // found using a dereferenced iterator addressing the location
   m1_AcIter = m1.end( );
   m1_AcIter--;
   m1_RcIter = m1.find( m1_AcIter -> first );
   cout << "The first element of m1 with a key matching"
        << endl << "that of the last element is: "
        << m1_RcIter -> second << "." << endl;

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

Requisitos

encabezado: <Asignar>

espacio de nombres: std

Vea también

Referencia

multimap Class

Biblioteca de plantillas estándar