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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 计算机中为什么会用补码运算符号_负数求补码

    计算机中为什么会用补码运算符号_负数求补码总所周知,计算机内部的所有数都是以二进制的形式存在的。而二进制在计算机里又有多种编码方式——原码、反码、补码等。而在这些编码方式里面用得最多的不是最简单、最直接的原码而是补码。这是为什么呢?想搞懂这个问题首先得明白什么是原码、反码以及补码,如果你对他们还不太了解,那就先看看我另一篇博客——原码、反码、补码其实很简单。如果你对他们已经很熟悉,那么我们继续往下看。A、B、C三种相似的东西,

    2022年9月16日
    2
  • latex 参考文献排序_中文参考文献怎么排序

    latex 参考文献排序_中文参考文献怎么排序最近由于需要开始尝试使用LaTeX。瞎忙活了好多天,最近总算有一点点眉目了。由于以前没有接触过LaTeX,而且网上有好多种不同的编译、编辑工具,我也不知道用哪个。偶尔看到LyTeX:LyTeX是一个绿色的中文TeX套装,它包含绿色版还是安装版,无论哪种版本都不会与系统的其它TeX套装冲突。它包含了LaTeX,XeTeX,TeXworks和LyX,特别地包含了绝大部分

    2025年9月7日
    6
  • FLAG_ACTIVITY_CLEAR_TOP的使用

    FLAG_ACTIVITY_CLEAR_TOP的使用本例使用FLAG_ACTIVITY_CLEAR_TOP退出整个应用程序:多activity中退出整个程序,例如从A->B->C->D,这时我需要从D直接退出程序。补充:finish()和system(0)都只能退出单个activity。我们知道Android的窗口类提供了历史栈,我们可以通过stack的原理来巧妙的实现,这里我们在D窗口打开A窗口时在Intent中直接加入标志Int

    2022年7月17日
    12
  • 实现PC视频播放最强画质教程( Potplayer播放器+MADVR插件)【转】

    实现PC视频播放最强画质教程( Potplayer播放器+MADVR插件)【转】转自:http://www.hangge.com/blog/cache/detail_1461.html一、MADVR介绍MADVR 是一款超强的视频插件,其配合高清播放软件,可以做到目前 PC 上播放高清视频的最强画质。MADVR 这款视频渲染器比市面上大多数播放器自带的渲染器有着更精确的颜色处理,更高质量的图像缩放缩放、以及更低的颜色错误率。这就使得它所渲染出来的视频在颜色上更…

    2022年9月14日
    2
  • 心形曲线(java)

    心形曲线(java)心形曲线java简易表示法importjava.awt.Color;importjava.awt.Graphics;importjava.awt.Image;importjava.awt.Toolkit;importjavax.swing.JFrame;@SuppressWarnings(“serial”)publicclassDemoextendsJFrame…

    2022年10月17日
    2
  • 基于ADS500MHZ带通滤波器「建议收藏」

    基于ADS500MHZ带通滤波器「建议收藏」《高频电子线路》专题实践报告题目:500Mhz带通滤波器设计500Mhz带通滤波器设计专题相关理论基础及对应ADS仿真要点2.1设计目的2.1.1了解巴特沃斯型滤波器、切比雪夫型滤波器、椭圆函数滤波器各自特性;2.1.2掌握运用ADS软件进行500MHZ带通滤波器优化设计;…

    2022年5月9日
    203

发表回复

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

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