Online-Skater
Erfahrenes Mitglied
Hallo Tutorianer,
Ich arbeite zum ersten mal mit der std::map und habe eine Frage bzgl. map::find()
Das bedeutet doch wenn ich mein Element anhand des Schlüssels nicht in der Map finde gibt er mir die letzte Position der Map zurück, als wenn das das gesuchte Element wäre.
Beispiel Ich möchte ein Element löschen welches zufällig nicht in der Map ist, also unabsichtlich quasi.
Jetzt würde er also aufjedenfall ein Element löschen, entweder das gesuchte oder das letzte. Das doch irgendwie unpraktisch. Wie kann ich das verhindern ?
Genau das gleiche wenn ich ein Element aus der Map haben möchte.
Benutzt man den []-Operator wird sogar ein neues Element angelegt, also das ist dafür unbrauchbar. Also geht wieder nur map::find() mit der ich dann das gesuchte Element bekomme oder das letzte .... oder was ?
Wie soll man denn damit arbeiten ? Wenn ich abfrage ob es das letzte Element ist dann könnte es ja auch zufällig das richtige sein, laut Key.
mfg
Ich arbeite zum ersten mal mit der std::map und habe eine Frage bzgl. map::find()
Get iterator to element
Searches the container for an element with a value of x and returns an iterator to it if found, otherwise it returns an iterator to map::end (the element past the end of the container).
Das bedeutet doch wenn ich mein Element anhand des Schlüssels nicht in der Map finde gibt er mir die letzte Position der Map zurück, als wenn das das gesuchte Element wäre.
Beispiel Ich möchte ein Element löschen welches zufällig nicht in der Map ist, also unabsichtlich quasi.
C++:
std::map<uint32_t, Node> nodesMP;
// Code , einfügen usw
// aNodeId ist ein uint32_t Wert
nodesMP.erase(nodesMP.find(aNodeId));
Genau das gleiche wenn ich ein Element aus der Map haben möchte.
Benutzt man den []-Operator wird sogar ein neues Element angelegt, also das ist dafür unbrauchbar. Also geht wieder nur map::find() mit der ich dann das gesuchte Element bekomme oder das letzte .... oder was ?
Wie soll man denn damit arbeiten ? Wenn ich abfrage ob es das letzte Element ist dann könnte es ja auch zufällig das richtige sein, laut Key.
mfg