multimap::find
Retourne un itérateur adressant le premier emplacement d'un élément dans un mappage multiple qui a une clé équivalente à une clé spécifiée.
iterator find(
const Key& _Key
);
const_iterator find(
const Key& _Key
) const;
Paramètres
- _Key
La clé de correspondance par la clé de tri d'un élément du mappage multiple recherché.
Valeur de retour
Un itérateur qui traite le premier emplacement d'un élément avec une clé spécifiée, ou l'emplacement réussissant le dernier élément dans le mappage de plusieurs si aucune correspondance n'est trouvée pour la clé.
Notes
La fonction membre retourne un itérateur qui traite un élément dans le mappage de plusieurs dont la clé de tri est equivalent à la clé d'argument sous un attribut binaire qui induit le classement de moins que la relation de comparabilité.
Si la valeur de retour de find est assignée à const_iterator, l'objet de mappage multiple ne peut pas être modifié.Si la valeur de retour de find est assignée à iterator, l'objet de mappage multiple peut être modifié.
Exemple
// 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;
}
Configuration requise
en-tête : <map>
l'espace de noms : DST