NULL kann ich aber auch als Funktionsargument benutzen.
Mein beliebtes beispiel aus pthread (C, nicht C++):

Code:
pthread_create( & tID, NULL, threadName, NULL );
hier ist aber was zur Erklärung:
http://en.cppreference.com/w/cpp/language/nullptr
(edit, sah gerade: das war auch shedepes Link)

NULL ist ein Makro, hingegen nullptr ein fundamental type:
http://www.cplusplus.com/reference/cstddef/nullptr_t/