我是靠谱客的博主 野性皮卡丘,这篇文章主要介绍c++为什么要搞一个nullptr代替NULL表示空指针?,现在分享给大家,希望可以做个参考。

空指针nullptr


c中使用NULL代表空指针以及数字0的,能够为什么c++中又要多出来nullptr来表示空指针,难道仅仅就是为了和c语言做一个区分(yay:我不是你,我比你高级!)?
其实并不是c++做一个nullptr来锦上添花的。
c++和c的一个很大的不同是c++编译器是支持函数重载的。(关于重载的定义可以百度)
同时在c++语言中,你可以理解成类型也可以作为一种参数,这个概念很重要,你可以在多态和重载等语法和思想中这样子去理解。
比如说函数名func可以有如下两种定义:

void func(int x){
cout << "0" << endl;
}
void func(int* x){
cout << "非0" << endl;
}

此时再使用nullptr和NULL是带你用不同的函数的。
比如

func(null)
0
func(nullptr)0

你理解了么?

最后

以上就是野性皮卡丘最近收集整理的关于c++为什么要搞一个nullptr代替NULL表示空指针?的全部内容,更多相关c++为什么要搞一个nullptr代替NULL表示空指针内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(137)

评论列表共有 0 条评论

立即
投稿
返回
顶部