001
16.02.2008, 23:07 Uhr
0xdeadbeef
Gott (Operator)
|
Nach dem delete[] noch auf das Array zuzugreifen, erzeugt undefiniertes Verhalten. Dass es bei dir noch das selbe ausgibt, ist mehr oder weniger zufällig. Wenn du ein einzelnes Element löschen willst, wär's am einfachsten, anstatt eines Array std::vector zu benutzen, also etwa
| C++: |
#include <vector>
// ...
std::vector<int> v(3);
v[0] = 3; v[1] = 9; v[2] = 18;
v.erase(v.begin() + 1); // Danach: v[0] == 3, v[1] == 18
|
-- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |