From the horse's mouth
C.3.2.4 Macro NULL [diff.null]
1/ 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.2).
It is up to each implementation to provide its own definition, gcc if I recall correctly defines it to __nullptr
for which it has special checks (verifies that it is not used in arithmetic contexts for example).
So it is possible to define it as nullptr
, you will have to check your compiler/Standard Library documentation to see what has been done.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…