Freigeben über


hash_multimap::find

HinweisHinweis

Diese API ist veraltet.Die Alternative ist unordered_multimap Class.

Gibt einen Iterator zurück, der den ersten Position eines Elements in einem hash_multimap 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 hash_multimap verglichen werden, Schlüssel, das gefunden wird.

Rückgabewert

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

Hinweise

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

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

In Visual C++ .NET 2003, sind Member der <hash_map> und <hash_set> Headerdateien nicht mehr im stdnamespace, sondern sind in den stdext Namespace verschoben wurde.Weitere Informationen finden Sie unter Der stdext-Namespace.

Beispiel

// hash_multimap_find.cpp
// compile with: /EHsc
#include <iostream>
#include <hash_map>

int main()
{
    using namespace std;
    using namespace stdext;
    hash_multimap<int, int> hm1;
    hash_multimap<int, int> :: const_iterator hm1_AcIter, hm1_RcIter;
    typedef pair<int, int> Int_Pair;

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

    hm1_RcIter = hm1.find(2);
    cout << "The element of hash_multimap hm1 with a key of 2 is: "
          << hm1_RcIter -> second << "." << endl;

    hm1_RcIter = hm1.find(3);
    cout << "The first element of hash_multimap hm1 with a key of 3 is: "
          << hm1_RcIter -> second << "." << endl;

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

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

    // The element at a specific location in the hash_multimap can be
    // found using a dereferenced iterator addressing the location
    hm1_AcIter = hm1.end();
    hm1_AcIter--;
    hm1_RcIter = hm1.find(hm1_AcIter -> first);
    cout << "The first element of hm1 with a key matching"
         << endl << "that of the last element is: "
         << hm1_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 (hm1_RcIter == --hm1.end())
        cout << "This is the last element of hash_multimap hm1."
             << endl;
    else
        cout << "This is not the last element of hash_multimap hm1."
             << endl;
}
  
  
  
  
  

Anforderungen

Header: <hash_map>

Namespace: stdext

Siehe auch

Referenz

hash_multimap Class

Standardvorlagenbibliothek