nullptr和NULL

Posted litifeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nullptr和NULL相关的知识,希望对你有一定的参考价值。

在c语言中,NULL既可以是0也可以是(void *)0

但在c++中,这样会给函数重载带来困扰,造成歧义。

于是c++规定,在C++中,NULL只能代表整数0,而(void *)0则有nullptr代表,nullptr只代表空指针,不能表示整数0。其实就是把整数0和(void *)0,分开表示。

在c++中,字符串数组的尾0,也就是‘‘是什么?这个以ascii码就知道。‘‘代表的是整数0,注意,这里的整数0,可和数字0不同,数字0的ascii码是:48。

以上是关于nullptr和NULL的主要内容,如果未能解决你的问题,请参考以下文章

nullptr和NULL

为啥 `void* = 0` 和 `void* = nullptr` 会有所不同?

带三元运算符和 nullptr 的 auto

C++ - “!pointer”和“pointer == nullptr”之间的区别?

C++11的新增函数和nullptr

C++11的新增函数和nullptr