Re: frage zu objecten in c++
Michael Wenger <[email protected]>
| Newsgroups | gmane.linux.suse.programming |
|---|---|
| Message-ID | <[email protected]> |
Moin,
adsci schrieb am 18.11.2005 14:42:
> da habt ihr wohl verständnisschwierigkeiten.
>
> >>>> *Test = NULL; // Das nullt den Speicher des Objektes
>
> nullt ja nicht den speicher des objektes, sondern den zeiger.
Ähem, und was macht dann das?
Test = 0;
Ich sehe das so:
'Test' ist der Zeiger auf einen Speicherbereich im Heap. Also setzt
'Test = 0' diesen Zeiger auf 0, wodurch der versehentliche Zugriff auf
das Objekt an Adresse '*Test' nicht mehr möglich ist und ein Test
'(!Test)' einfach möglich ist.
'*Test' ist der dereferenzierte Zeiger, womit man direkt auf das Objekt
zugreift, das an Adresse 'Test' beginnt.
Ja, was soll dann bloß '*Test = NULL' bedeuten (wenn '=' nicht überladen
wurde)?
> man nullt den zeiger nach jedem delete, um daran indirekt sehen zu
> können, ob der zeiger auf noch referenzierten speicher zeigt.
Genau, aber der Zeiger ist 'Test' und nicht '*Test'.
Michael
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
[email protected]
Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]