在C++中,NULL是一个宏,其实质是0。而nullptr是从C++11开始引入的关键字。
在C语言中,NULL的定义为(void )0,由于C语言能够隐式转换。但在C++中,int p = (void ) 0这样的语句会报错,由于在C++中void 类型是不容许隐式转换成其余类型的,所以在C++中直接将NULL定义为0,一个int类型的变量。这样致使在出现重载函数的状况下,程序会出现问题。ide
因此,C++11加入了nullptr,能够保证在任何状况下都表明空指针,而不会出现上述的状况。
————————————————
版权声明:本文为CSDN博主「酷小川」的原创文章
原文连接:https://blog.csdn.net/kksc1099054857/article/details/87938288函数