Der Versuch, eine Methode zu schreiben, die die ersten (niedrigstgetasteten) N-Elemente aus einer std :: map löscht. Versucht das:Löschen Sie die ersten N Elemente von einer std :: map?
Es funktioniert, wenn die Anzahl der Elemente ist mehr als die Anzahl der Elemente entfernt werden soll. Also, wenn ich fünf Elemente hatte, um 2 zu löschen, bleiben die letzten 3 Elemente übrig. Wenn ich jedoch ein Element und die Anforderung habe, 2 zu löschen, habe ich noch ein Element übrig.
Gibt es eine gute Möglichkeit, dies zu bedecken? Ich könnte eine IF-Anweisung herumschieben, um nach numElementsToRemove größer als map.size() zu suchen, aber es muss eine bessere Lösung geben?
Warum sollte es eine bessere Lösung als die einfachste Lösung geben? –