A: In C++, the definition of NULL is 0, thus there is only an aesthetic difference. I prefer to ignore macros, so I employ 0. Another difficulty with NULL is that people sometimes wrongly believe that it is different from 0 and/or not an integer. In pre-standard code, NULL was/is sometimes described to something unsuitable and thus had/has to be ignored. That's less common these days.