Entfernen Sie einen Schlüssel aus einer C ++ Map
Möchte ich entfernen Sie einen Schlüssel aus einer STL-map. Allerdings map.erase()
nicht tun.
Wie würde ich gehen über das tun dies
InformationsquelleAutor der Frage Steffan Harris | 2012-04-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es hängt ganz davon ab, wie Sie anrufen, aber es klingt wie Sie möglicherweise die
first,last
option. Wenn Sie sind, Sie brauchen, um Bedenken Sie, dass Sie löschen Elemente, angefangen beifirst
bis zu aber ohnelast
. Sofern Sie diese Regel befolgen, iterator-basierte entfernen sollte funktionieren, entweder als einzelnes element oder einen Bereich.Wenn Sie das löschen durch-Taste, dann sollte es auch klappen, vorausgesetzt, der Schlüssel ist natürlich dabei.
Folgende Beispiel-code zeigt alle drei Methoden in Aktion:
welche Ausgänge:
InformationsquelleAutor der Antwort paxdiablo
Müssten Sie finden Sie die iterator ersten
Machen diese sicher, Sie brauchen, um stellen Sie sicher, dass der ITERATOR existiert jedoch. Par Beispiel:
InformationsquelleAutor der Antwort bobobobo