Ben Pfaff wrote: > ISO C says that NULL can be defined as 0, without a cast to void > *, and it is always defined that way in C++.
The latter statement is not true. ISO C++ 18.1.(3) says: "The macro NULL is an implementation-defined C++ null pointer constant in this International Standard (4.10)." with footnote: "Possible definitions include 0 and 0L, but not (void*)0." and g++ defines NULL to __null. The differences between NULL and 0 in g++ are least: - sizeof (NULL) == sizeof (void*), - sin (NULL) gives a warning, sin (0) does not. Bruno