void*和NULL和nullptr的区别
void*和NULL和nullptr的区别
在C语言中有如下定义
1 |
void* 是一个万金油,可以转换为任何其他指针,所以在这儿用值为0的void*表示空指针
然而在C++中定义如下
1 |
在C++中,如果使用C++编译器,NULL将会被直接定义为0,如果使用C语言编译器才会延续((void*)0)的定义
在C++11中规定,nullptr
用来表示((void*)0)
,而NULL
只表示0
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Alfred的小站!