Right, null_ptr will be part of C++. Nevertheless NULL was never part of
C++! g++ defines it for convenience, the Intel compiler does not.
At least C++ Standard (ISO/IEC 14882:2003(E)) states:

18.1 Types [lib.support.types]
 Common definitions.
 Header <cstddef> (Table 15):
          [tabel with definitions follows...]
 The contents are the same as the Standard C library header <stddef.h>, with the following changes:
 The macro NULL is an implementation-defined C + + null pointer constant in this International Standard
(4.10).180)

180) Possible definitions include 0 and 0L, but not (void*)0.

C.2.2.3 Macro NULL [diff.null]
The macro NULL, defined in any of <clocale>, <cstddef>, <cstdio>, <cstdlib>, <cstring>,
<ctime>, or <cwchar>, is an implementation-defined C + + null pointer constant in this International
Standard (18.1).

And this is what Stroustrup states:
http://www.research.att.com/~bs/bs_faq2.html#null


Greetings,
Ovanes