17 Nov
2005
17 Nov
'05
08:26
On 17.11.2005 07:15, Jörg Pauly wrote:
delete Test; Test = NULL;
Das sollte eigentlich sofort knallen, Du schreibst schließlich auf eine Adresse, die Dir nicht mehr gehört.
Nein, "Test" ist ein Zeiger auf einen Speicherbereich. Dieser Speicherbereich (nicht der Zeiger!) wurde gerade mit delete gelöscht. Der Zeiger kann ohne weiteres auf 0 (oder wenn's sein muss auch NULL) gestzt werden. Wenn man das konsequent durchzieht, vereinfacht dies im späteren Verlauf des Programmes die Abfrage, ob das Objekt existiert: if( Test ) { Test->say("..."); } else { cout << "Objekt Test nicht angelegt!" << endl; } oder so in der Richtung... Grüße, -oli- (Oliver Baum)