Stephan T. Lavavej (member of the C++ standard committee) explained that once in a talk (55:35):
While an implementation is allowed to #define NULL nullptr
, it would break quite some uses like
int i = NULL;
and apparently there are plenty of those. So they could not force the change.