Ich verwende map
in C++. Angenommen, ich habe 10 Werte in map
und möchte nur den ersten. Wie bekomme ich es?
Vielen Dank.
Auf einer Karte wird die Reihenfolge der Einfügungen nicht beibehalten. Verwenden Sie *(myMap.begin())
, um den Wert des ersten Paares zu erhalten (das mit dem kleinsten Schlüssel bei Bestellung).
Sie können auch myMap.begin()->first
ausführen, um den Schlüssel abzurufen, und myMap.begin()->second
, um den Wert abzurufen.
So einfach wie:
your_map.begin()->first // key
your_map.begin()->second // value
begin()
gibt das erste Paar zurück (genau ein Iterator zum ersten Paar) und Sie können auf den Schlüssel/Wert zugreifen als ->first
und ->second
dieses Iterators)
Sie können den Iterator verwenden, der von der begin () -Methode der Kartenvorlage zurückgegeben wird:
std::map<K,V> myMap;
std::pair<K,V> firstEntry = *myMap.begin()
Denken Sie jedoch daran, dass der std :: map-Container seinen Inhalt in geordneter Weise speichert. Der erste Eintrag ist also nicht immer der erste Eintrag, der hinzugefügt wurde.
*my_map.begin()
. Siehe z. http://cplusplus.com/reference/stl/map/begin/ .