46 votes

Utiliser NULL en C++ ?

Duplicata possible : Utilisez-vous NULL ou 0 (zéro) pour les pointeurs en C++ ?

Est-ce une bonne idée d'utiliser NULL en C++ ou juste la valeur 0 ?

Existe-t-il une circonstance particulière à l'aide de NULL dans le code C appelant à partir de C++ ? Vous aimez SDL ?

3voto

Konrad Points 8333

De crtdbg.h (et de nombreux autres en-têtes) :

 #ifndef NULL
#ifdef __cplusplus
#define NULL    0
#else
#define NULL    ((void *)0)
#endif
#endif

Par conséquent, NULL est 0 , au moins sur la plate-forme Windows. Donc non, pas à ma connaissance.

1voto

T.E.D. Points 26829

Je n'utilise jamais NULL dans mon code C ou C++. 0 fonctionne très bien, tout comme if (ptrname) . Tout programmeur C ou C++ compétent devrait savoir ce qu'ils font.

1voto

Mark B Points 60200

En supposant que vous n'avez pas d'en-tête de bibliothèque ou de système qui définit NULL comme par exemple (void*)0 ou (char*)0 ça va. J'ai toujours tendance à utiliser 0 moi-même car c'est par définition le pointeur nul. En c++0x, vous aurez nullptr disponibles, donc la question n'aura plus autant d'importance.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X