C++ nil vs NULL
Yes. It's NULL
in C
and C++
, while it's nil
in Objective-C.
Each language has its own identifier for no object. In C
the standard library, NULL
is a typedef of ((void *)0)
. In C++
the standard library, NULL
is a typedef of 0
or 0L
.
However IMHO, you should never use 0 in place of NULL
, as it helps the readability of the code, just like having constant variables in your code: without using NULL, the value 0 is used for null pointers as well as base index value in loops as well as counts/sizes for empty lists, it makes it harder to know which one is which. Also, it's easier to grep
for and such.
nil
does not exist in standard C++. Use NULL
instead.
In C++ you need to use NULL
, 0, or in some brand new compilers nullptr. The use of NULL
vs. 0 can be a bit of a debate in some circles but IMHO, NULL
is the more popular use over 0.
0 is the recommended and common style for C++