[C++] list.clear() -> Was passiert mit den Elem

Hi!

Wenn ich eine Liste habe, z.B.:

struct MyStruct
{
string Name;
float Zahl;
}

[…]

list * MyList;

[…]

und dann
MyList->clear()

aufrufe, was passiert ?! Wird das gesammte Element gelöscht oder wird nur der Zeiger der Liste verbogen.

Oder anderst gefragt: Wenn ich MyStruct nicht als Autopointer anlege, muß ich mich um das löschen jedes Elementes selbst kümmern ?

Wenn ja, wäre es dann besser
list * MyList;
zu verwenden, in der hoffnung das es dann Automatisch gelöscht wird ?

TNX Micha

Hi,
wenn du ein bisschen STL-doku liest, dann siehst du das alle Objekte in einem Container immer kopiert werden, also auch gelöscht! Deshalb sollte man auch immer mit den iteratoren auf das objekt zugreifen, sonst manipuliert man nur eine Kopie (falls man das nicht will).

MfG Diez