NULL与nullptr

传统意义上来说,c++把NULL、0视为同一种东西,有些编译器将NULL定义为((void*)0),有些将其定义为0.c++不允许直接将void*隐式的转化为其他类型,但是如果NULL被定义为((void*)0),当编译char*p=NULL;NULL只好被定义为0。还有:void  func(int);void  func(char*);如果NULL被定义为0,func(NUL…

大家好,又见面了,我是你们的朋友全栈君。

传统意义上来说,c++把NULL、0视为同一种东西,有些编译器将NULL定义为 ((void*)0),有些将其定义为0.
c++不允许直接将void*隐式的转化为其他类型,但是如果NULL被定义为 ((void*)0),
当编译char *p = NULL;

NULL只好被定义为0。

还有:

void    func(int);

void    func(char*);

如果NULL被定义为0,func(NULL)会去调用void    func(int),这是不合理的

所以引入nullptr,专门用来区分0、NULL。

nullptr的类型为nullptr_t,能够隐式的转换为任何指针。

所以用空指针就尽可能的使用nullptr。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/125997.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • bootstrap的datetimepicker_bootstrap日期选择器

    bootstrap的datetimepicker_bootstrap日期选择器先说datepicker。github上的地址是:https://github.com/eternicode/bootstrap-datepicker。效果如下:在bundle里面引用添加js和

    2022年8月5日
    2
  • 生成二维码_js中怎么获取二维码信息

    生成二维码_js中怎么获取二维码信息我这里用的是qrcode.js1,首先页面引入js2,页面准备载体class=’none’这里需要隐藏此图片3,具体生成方法text中的内容是跳转路径。width,height等根据具体场景自行定义。

    2022年10月9日
    0
  • js获取当前系统时间

    js获取当前系统时间js获取当前年,月,日,时分秒,季度,星期几

    2022年10月18日
    0
  • java分割String字符串成list

    java分割String字符串成list示例:Stringsn=“1234,567,8910”;List<String>snList=Arrays.asList(sn.split(“,”));

    2022年6月21日
    97
  • 趣味编程游戏_全脑开发训练100个游戏

    趣味编程游戏_全脑开发训练100个游戏在信息技术迅猛发展的时代,操纵计算机,与电脑对话的能力已经成了事实上的技能标配,也已经深深地融入了我们每个人的生活当中。游戏行业也不例外,近几年,随着全民编程的热潮,许多游戏厂商也纷纷把编程融入自己的游戏当中,甚至推出了许多专门为编程爱好者/编程学习者制作的编程解密游戏。今天要推荐的九个游戏,可谓风格各异,老少咸宜,不论你是对编程完全陌生的新手,还是硬核老鸟,一定能找到一款适合你的游戏。话…

    2022年4月19日
    94
  • Spark和Hadoop的区别和比较[通俗易懂]

    Spark和Hadoop的区别和比较[通俗易懂]目录一、两者的各方面比较二、Spark相对Hadoop的优越性三、三大分布式计算系统Spark,是分布式计算平台,是一个用scala语言编写的计算框架,基于内存的快速、通用、可扩展的大数据分析引擎Hadoop,是分布式管理、存储、计算的生态系统;包括HDFS(存储)、MapReduce(计算)、Yarn(资源调度)一、实现原理的比较Hadoop和Spark都是并…

    2022年10月28日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号