在C语言中我们只用NULL作为空指针,而在C++中我们使用nullptr作为空指针,
void f(int)
{
cout<<"f(int)"<<endl;
}
void f(int*)
{
cout<<"f(int*)"<<endl;
}
int main()
{
f(0); //调用第一个
f(NULL); //调用第一个
f((int*)NULL); //调用第二个
return 0;
}
我们可以知道NULL只是定义的一个宏,它的值为0;
nullptr是一个0处的地址
本文探讨了C语言中使用NULL作为空指针与C++中使用nullptr的区别。通过示例代码展示了NULL和nullptr在函数重载选择中的行为差异,NULL实际上是一个宏定义,其值为0,而nullptr在C++中被视为特殊的空指针常量。
1822

被折叠的 条评论
为什么被折叠?



