Article View: de.comp.lang.c++
Article #1424Re: Kann this Pointer NULL sein?
From: Enno Sandner
Date: Sun, 28 Jan 1996 13:40
Date: Sun, 28 Jan 1996 13:40
33 lines
1601 bytes
1601 bytes
In article <0YZ8BLIJ@wuschel.ibb.schwaben.com> uz@wuschel.ibb.schwaben.com (Ullrich von Bassewitz) writes:
Ist es legal, non-virtual Funktionen ueber ein Nicht existierendes Objekt
(NULL) aufzurufen und dann in der Member Function den Fall abzuhandeln, dass
der this Pointer NULL ist?
D.h. sowas wie
Aufruf:
Window* W = NULL;
...
Window->Write ("...");
In der Member Function:
if (this == NULL) {
// Object pointer is NULL, do nothing
return;
}
Dass es mit virtuellen Funktionen nicht tut ist mir klar, dass es bei nicht
virtuellen Funktionen tut ist mir genauso klar. Die Frage ist, kann ich da
in irgendwas reinlaufen, weil das Verhalten evtl. undefiniert ist bei
anderen/zukuenftigen Compilern?
Das wird u.a. im ARM (9.3 "Member Functions"/p176) als ungueltig erklaert.
Man kann diese Technik damit zwar noch als zusaetzlichen Test im Programm
verwenden, kommt aber um die Abfrage _vor_ dem Aufruf nicht herum.
Enno
Technical Details
Message-ID:
<ENNO.96Jan28144057@kitz.inferenzsysteme.informatik.th-darmstadt.de>Path:
arc1-ca.pugleaf.net!news.th-darmstadt.de!news!ennoReferences:
<0YZ8BLIJ@wuschel.ibb.schwaben.com>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!news.th-darmstadt.de!news!enno From: enno@inferenzsysteme.informatik.th-darmstadt.de (Enno Sandner) Newsgroups: de.comp.lang.c++ Subject: Re: Kann this Pointer NULL sein? Date: 28 Jan 1996 13:40:56 GMT Organization: Fachbereich Informatik, TH Darmstadt Distribution: world Message-ID: <ENNO.96Jan28144057@kitz.inferenzsysteme.informatik.th-darmstadt.de> References: <0YZ8BLIJ@wuschel.ibb.schwaben.com> NNTP-Posting-Host: kitz.intellektik.informatik.th-darmstadt.de In-reply-to: uz@wuschel.ibb.schwaben.com's message of 28 Jan 1996 10:56:41 GMT