<br><font size=2 face="sans-serif">Bonjour,</font>
<br>
<br><font size=2 face="sans-serif">je suis d'accord que ce n'est pas normal d'avoir parfois NULL parfois 0.</font>
<br><font size=2 face="sans-serif">Néanmoins je trouve le "Coding Style" de gdcm un peu rude. </font>
<br><font size=2 face="sans-serif">A condition que NULL soit défini correctement en fonction du langage et du compilo,</font>
<br><font size=2 face="sans-serif">il est recommandé de l'utiliser.</font>
<br>
<br><font size=2 face="sans-serif">Pour info, je vous mets un extrait de la ml tuxcppprogramminh.</font>
<br><font size=2 face="sans-serif">JM</font>
<br>
<br><font size=3 face="Courier New">On Sonntag, 22. Februar 2004 16:12, Peter Poulsen wrote:<br>
> I have read that we should use 0 over NULL when setting a pointer to<br>
> "nothing".<br>
><br>
> Does anybody know why? <br>
<br>
In C NULL is often defined as '(void *)0' and this is incorrect in C++ <br>
because there the type of NULL must be an integer type. Otherwise, you <br>
could not assign NULL to a pointer. This is because in C++ there is no <br>
automatic conversion from 'void *' to any other type.<br>
<br>
So several people and style guides recommend not using NULL in C++. But <br>
nowadays most of the heaeder files are prepared for using C++ and they <br>
define NULL correctly (as 0, or with gcc as __null). Using NULL with gcc <br>
is perfectly OK.<br>
<br>
> To me it seems better to use NULL as it indicates<br>
> in the code that this is a pointer being set to nothing, and not an<br>
> interger being assigned the value 0.<br>
<br>
ACK! And thats the reason why I still use NULL and also recommend in doing <br>
so.<br>
<br>
> I am aware that in most compilers NULL is just a macro for 0.<br>
<br>
... if you are using C++ (i.e. '__cplusplus' is defined). For C it will <br>
most certainly still be '(void *)0'. Have a look at stddef.h.<br>
<br>
Torsten</font>
<br>
<br>