Here’s Stroustrup’s take on this: C++ Style and Technique FAQ
In C++, the definition of
NULL
is 0, so there is only an aesthetic difference. I prefer to avoid macros, so I use 0. Another problem withNULL
is that people sometimes mistakenly believe that it is different from 0 and/or not an integer. In pre-standard code,NULL
was/is sometimes defined to something unsuitable and therefore had/has to be avoided. That’s less common these days.If you have to name the null pointer, call it
nullptr
; that’s what it’s called in C++11. Then,nullptr
will be a keyword.
That said, don’t sweat the small stuff.