Überprüfung auf Existenz in std :: map - count vs find

So scheint es zwei allgemein akzeptablen Methoden der Bestimmung, ob ein Schlüssel vorhanden ist in einer std::map:

map.find(key) != map.end()
map.count(key) > 0

Ist eine effizienter als die andere? Insbesondere das Konzept der count() könnte dahingehend interpretiert, dass die Methode iteriert über alle Schlüssel, die Auszählung insgesamt Anzahl (und aufgrund der definition von std::map, dass total count immer 0 oder 1). Ist count () - garantiert auf "stop", nachdem eine übereinstimmung, die auf der gleichen Komplexität wie ein find()?

InformationsquelleAutor der Frage dolphy | 2014-08-25

Schreibe einen Kommentar