C++中nullptr和NULL怎么用


这篇文章主要介绍“C++中nullptr和NULL怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C++中nullptr和NULL怎么用”文章能帮助大家解决问题。目的:nullptr的出现主要是为了替代NULL。那么,为什么要替代NULL呢?在NULL的定义中存在会有2种方式,有的编译器会将NULL定义成0,有的编译器会将NULL定义成((void*)0)。那么,这两种定义方式会对c++有什么区别呢?在c++中不允许( void* )隐式的转成其他类型,在某些编译器把NULL定义成((void*)0)的情况下,当你 香港云主机定义变量去赋值NULL时候,NULL就会变定义为0。另外,这种问题也会对c++的重载特性造成混乱。接下来,进行代码演示这里编写了MyClass类,里面有两个重载函数printf接下来,我们new一个MyClass对象 a并调用成员函数printf,传入NULL调试结果以上可以看到,传入NULL时,调用printf(int), 与我们的本意调用printf(char*)相违背。我们看看编译现在把NULL定义为哪种方式,我使用的是vs2017可以看到将NULL定义0接下来,我们的主角nullptr就出场了,将主函数里面的调用方式修改一下调试结果可以看到调用的printf(char*),这样nullptr和NULL的区别就出来了。另外,nullptr能隐式转换成各类型指针,可以看看以下代码关于“C++中nullptr和NULL怎么用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注开发云行业资讯频道,小编每天都会为大家更新不同的知识点。

相关推荐: 笔记本电脑没声音怎么解决

本篇内容主要讲解“笔记本电脑没声音怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“笔记本电脑没声音怎么解决”吧!原因一:声卡驱动出现错误主要原因:声卡驱动程序被禁用,声卡驱动程序被损坏,或者安装了不被支持的设…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 07/14 13:34
下一篇 07/14 13:34

相关推荐