multiset::find
Gibt einen Iterator zurück, der sich auf den Speicherort eines Elements in einer Zuordnung bezieht, der einen Schlüssel entsprechend einem angegebenen Schlüssel aufweist.
iterator find(const Key& key); const_iterator find(const Key& key) const;
Parameter
- key
Der Schlüsselwert, der durch den Sortierschlüssel eines Elements aus dem durchsuchten Multiset verglichen wird.
Rückgabewert
Ein Iterator, der sich auf den Speicherort eines Elements mit einem angegebenen Schlüssel oder den Speicherort, der auf das letzte Element im Multiset folgt, bezieht (multiset::end()), wenn keine Übereinstimmung für den Schlüssel gefunden wird.
Hinweise
Die Mitgliedsfunktion gibt ein Iterator zurück, der sich auf ein Element im Multiset bezieht, dessen Schlüssel dem Argument key unter einem binären Prädikat entspricht, das eine Sortierung basierend auf einer kleiner-als-Vergleichbarkeitsbeziehung einleitet.
Wenn der Rückgabewert von finden einem Const_iterator zugewiesen sind, kann das Multiset-Objekt nicht geändert werden. Wenn der Rückgabewert von finden einem Iterator zugewiesen sind, kann das Multiset-Objekt geändert werden.
Beispiel
// compile with: /EHsc /W4 /MTd
#include <set>
#include <iostream>
#include <vector>
#include <string>
using namespace std;
template <typename T> void print_elem(const T& t) {
cout << "(" << t << ") ";
}
template <typename T> void print_collection(const T& t) {
cout << t.size() << " elements: ";
for (const auto& p : t) {
print_elem(p);
}
cout << endl;
}
template <typename C, class T> void findit(const C& c, T val) {
cout << "Trying find() on value " << val << endl;
auto result = c.find(val);
if (result != c.end()) {
cout << "Element found: "; print_elem(*result); cout << endl;
} else {
cout << "Element not found." << endl;
}
}
int main()
{
multiset<int> s1({ 40, 45 });
cout << "The starting multiset s1 is: " << endl;
print_collection(s1);
vector<int> v;
v.push_back(43);
v.push_back(41);
v.push_back(46);
v.push_back(42);
v.push_back(44);
v.push_back(44); // attempt a duplicate
cout << "Inserting the following vector data into s1: " << endl;
print_collection(v);
s1.insert(v.begin(), v.end());
cout << "The modified multiset s1 is: " << endl;
print_collection(s1);
cout << endl;
findit(s1, 45);
findit(s1, 6);
}
Ausgabe
Anforderungen
Header: <set>
Namespace: std