Condividi tramite


multimap::find

Restituisce un iteratore che indirizza la prima posizione di un elemento in un multimap con un equivalente principale in una chiave specificata.

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

Parametri

  • _Key
    La chiave da corrispondere alla chiave di ordinamento di un elemento da multimap cercato.

Valore restituito

Un iteratore che indirizza la prima posizione di un elemento con una chiave specificata, o il percorso che è l'ultimo elemento a multimap se non viene rilevata alcuna corrispondenza della chiave.

Note

La funzione membro restituisce un iteratore destinato a un elemento in multimap della chiave di ordinamento è equivalent alla chiave dell'argomento in un predicato binario che provoca un ordine base a meno che la relazione di comparabilità.

Se il valore restituito find viene assegnato a const_iterator, l'oggetto di multimap non può essere modificato.Se il valore restituito find viene assegnato a iterator, l'oggetto di multimap può essere modificato.

Esempio

// 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;
}
  
  
  
  
  

Requisiti

intestazione: <map>

Spazio dei nomi: deviazione standard

Vedere anche

Riferimenti

multimap Class

Libreria di modelli standard