NULL Makro (__cplusplus
-
/* Define NULL pointer value */ #ifndef NULL #ifdef __cplusplus #define NULL 0 #else #define NULL ((void *)0) #endif #endifWann ist __cplusplus denn eigentlich definiert?
Also wann genau wird NULL durch ((void *)0) ersetzt?
Bei mir wird es momentan nämlich einfach nur mit 0 ersetzt.
-
null0 schrieb:
Wann ist __cplusplus denn eigentlich definiert?
ISO/IEC 14882:2003 (E) schrieb:
16.8 Predefined macro names [cpp.predefined]
1 The following macro names shall be defined by the implementation:[...]
__cplusplus The name
__cplusplusis defined to the value199711Lwhen compiling a C++ translation unit.null0 schrieb:
Also wann genau wird NULL durch ((void *)0) ersetzt?
Ne, umgedreht: Wann genau wird
NULLdurch0ersetzt?null0 schrieb:
Bei mir wird es momentan nämlich einfach nur mit 0 ersetzt.
ISO/IEC 14882:2003 (E) schrieb:
4.10 Pointer conversions [conv.ptr]
1 A null pointer constant is an integral constant expression (5.19) rvalue of integer type that evaluates to
zero. A null pointer constant can be converted to a pointer type; the result is the null pointer value of that
type and is distinguishable from every other value of pointer to object or pointer to function type.[...]Gratuliere, du Kompilierst C++ Code mit einem C++ Compiler.
BTW: In reinem C++ Code ist die Verwendung von
0stattNULLin Mode.greetz, Swordfish
-
BTW: In reinem C++ Code ist die Verwendung von 0 statt NULL in Mode.
Zum Glück muss man nicht jede Mode mitmachen...
NULL ist manchmal besser zu lesen als 0! Just my 2 cents
-
Martin Richter schrieb:
NULL ist manchmal besser zu lesen als 0! Just my 2 cents
Ist wohl wieder 'mal eine Glaubensfrage

greetz, Swordfish
-
Und wann wird ((void *)0) benutzt?
Ich habe meiner Datei die Endung *.c gegeben.
Wird das dann trotzdem mit einem C++-Kompiler und dem Makro __cplusplus kompiliert/gelinkt?
-
Nein, wenn Deine Datei die Endung *.c hat, wird es also C compiliert. Das kannst Du aber mit Project-Settings für die Datei wieder ändern (/Tp)
-
Das Makro __cplusplus war aber trotzdem definiert..
-
Martin Richter schrieb:
Zum Glück muss man nicht jede Mode mitmachen...
NULL ist manchmal besser zu lesen als 0! Just my 2 cents
Ein Grund mehr, sich auf nullptr zu freuen :p