[c++] vector elemente löschen

deepthroat hat gesagt.:
Ja, stimmt. :)

Allerdings ist nicht definiert was das Ergebnis der Anweisung in C/C++ ist da die Anweisung "undefiniertes Verhalten" auslöst. Bei den meisten Compilern wird allerdings 0 oder 8 herauskommen.

Gruß

Nein a++ + ++b ist nicht undefined.
 
deepthroat hat gesagt.:
Das eine ist ein Präinkrementoperator, das andere ein Postinkrementoperator. Es gibt nur einen Unterschied wenn man die Rückgabewerte der beiden Operatoren benutzt. (also für den erase Code völlig unwichtig)

Der Präinkrementoperator sollte bei Objekten möglichst immer dem Postinkrementoperator
vorgezogen werden, da so zur Laufzeit keine temporären Objekte angelegt werden
 
blackbirdthefirst hat gesagt.:
Der Präinkrementoperator sollte bei Objekten möglichst immer dem Postinkrementoperator
vorgezogen werden, da so zur Laufzeit keine temporären Objekte angelegt werden
Also auf sowas sollte man eigentlich keinen Wert legen, da ein halbwegs gut optimierenden Kompiler die temporären Objekte entfernen wird.

We should forget about small efficiencies, say about 97% of the time: premature
optimization is the root of all evil. -Donald Knuth

Gruß
 

Neue Beiträge

Zurück