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



Reply via email to