Freigeben über


multiset::find

Gibt einen Iterator zurück, der den ersten Position eines Elements in einem Multiset abweicht, das eine Schlüsselentsprechung zu einem angegebenen Schlüssel verfügt.

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

Parameter

  • _Key
    Die durch den Sortierschlüssel eines Elements vom Multiset verglichen werden, Schlüssel, das gefunden wird.

Rückgabewert

Iterator oder const_iterator, der den ersten Position eines Elements mit einem angegebenen Schlüssel behandelt oder der Speicherort, der dem letzten Element mit dem Multiset folgt, wenn keine Übereinstimmung für die Schlüssel gefunden wird.

Hinweise

Die Memberfunktion gibt einen Iterator zurück, der ein Element im Multiset anspricht, dessen Sortierschlüssel zum Argumentschlüssel unter einem binären Prädikat entspricht, das eine Reihenfolge auf Grundlage weniger als Vergleichbarkeitsbeziehung verursacht.

Wenn const_iterator der Rückgabewert von find zugewiesen wird, kann das multiset-Objekt nicht geändert werden.Wenn Iterator der Rückgabewert von find zugewiesen wird, kann das multiset-Objekt geändert werden.

Beispiel

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

Anforderungen

Header: <set>

Namespace: std

Siehe auch

Referenz

multiset Class

Standardvorlagenbibliothek