Re: frage zu objecten in c++
adsci <[email protected]>
| Newsgroups | gmane.linux.suse.programming |
|---|---|
| Message-ID | <[email protected]> |
oh, du hast natürlich recht :-)
hab dezent das * übersehen!
gruÃ
marcel
Jörg Pauly wrote:
> Am Freitag, 18. November 2005 14:42 begab es sich, daà adsci folgendes in den
> Rechenknecht kloppte:
>
>>da habt ihr wohl verständnisschwierigkeiten.
>>
>> >>>> *Test = NULL; // Das nullt den Speicher des Objektes
>>
>>nullt ja nicht den speicher des objektes, sondern den zeiger. und das
>>war offensichtlich auch gemeint. der kommentar ist da nur falsch
>>formuliert.
>
>
> Einspruch. Test ist also ein Pointer auf ein Objekt. Dann ergibt Test = NULL;,
> daà der Pointer auf Null gesetzt wird.
> Rufe ich aber *Test = NULL auf, dann geht es direkt auf's Objekt.
> Dafür müsste, wie Alexander völlig richtig sagte, der =-Operator überladen
> sein, ansonsten weist der Compiler das sowieso zurück.
>
>
>>man nullt den zeiger nach jedem delete, um daran indirekt sehen zu
>>können, ob der zeiger auf noch referenzierten speicher zeigt.
>>wird von vielen als debug-hilfe benutzt.
>>ausserdem ist ein delete auf ein null-zeiger im gegensatz auf eine
>>andere adresse mit bereits freigegeben speicher okay.
>>
>>trotzdem ist das problem auch damit nicht wirklich gelöst.
>
>
> Das Problem tritt IMHO eh nur in der Theorie auf. Auf freigegebenen Speicher
> zuzugreifen führt über kurz oder lang zum SegFault, da braucht im System nur
> der Speicher mal knapp werden.
>
>
>>nullen des speicherbereichs ist natürlich in den absolut meisten fällen
>>quatsch.
>
>
> Eigentlich immer, da kann man das System einfach seine Arbeit tun lassen.
>
> ---
> Grüsse aus Meissen
> Jörg Pauly
>
--
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]