- NULL
早期C和C++版本中,NULL指针使用整形0来表示(存在二义性问题:NULL容易被当做整形数据使用,欠缺类型安全性)
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void *)0)
#endif
- nullptr
nullptr是C++11版本中新加入的,它的出现是为了解决NULL表示空指针在C++中具有二义性的问题。
- 总结
建议以后还是都用nullptr替代NULL吧,而NULL就当做0使用。
早期C和C++版本中,NULL指针使用整形0来表示(存在二义性问题:NULL容易被当做整形数据使用,欠缺类型安全性)
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void *)0)
#endif
nullptr是C++11版本中新加入的,它的出现是为了解决NULL表示空指针在C++中具有二义性的问题。
建议以后还是都用nullptr替代NULL吧,而NULL就当做0使用。