Ich weiß, Suche Methode findet den mitgelieferten Schlüssel in Std :: Karte und einen Iterator an das Element zurückgeben. Gibt es überhaupt einen Wert, um den Wert zu finden und einen Iterator für das Element zu erhalten? Was ich tun muss, ist den angegebenen Wert in std :: map zu überprüfen. Ich habe dies getan, indem ich alle Elemente in der Karte durchschlinge und vergleiche. Aber ich wollte wissen, ob es dafür einen besseren Ansatz gibt. HierÜberprüfung Wert existiert in einer Std :: Karte - C++
ist das, was ich geschrieben habe
bool ContainsValue(Type_ value)
{
bool found = false;
Map_::iterator it = internalMap.begin(); // internalMap is std::map
while(it != internalMap.end())
{
found = (it->second == value);
if(found)
break;
++it;
}
return found;
}
bearbeiten
Wie wäre es eine andere Karte intern verwendet, die Wert speichert, Tastenkombination. Also kann ich anrufen finden? Ist find() in std :: map sequentielle Suche durchführen?
Dank
Sie schlagen mich dazu :) Gute Antwort. –