使用方式有什么区别:
并且,
if( pointer == NULL)
并且,
if(!pointer)
我关注以下几点两者之间的差异:
1. 对于编译器来说,它们是否不同?如果是,那么具体有什么区别?
2. 在一般情况下,哪种编码风格更受推荐?为什么?
3. 请解释一下编译器如何“看到”NULL。
编辑:为了简单起见,让指针的类型为int *。
int *
,而不是某个进行运算符重载的类吗? - nwppointer
是什么类型? - Peter WoodNULL
是一个实现定义的宏。通常它的值要么是0
,要么是nullptr
。明确地使用nullptr
通常被认为比使用NULL
宏更好。 - 0x5453nullptr
而不是NULL
。 - Basile Starynkevitch