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


相关推荐

  • anaconda和pycharm安装哪个版本好_pycharm专业版激活成功教程安装教程

    anaconda和pycharm安装哪个版本好_pycharm专业版激活成功教程安装教程文章目录Pycharm中嵌入AnacondaAnaconda下载Pycharm下载Anaconda安装Pycharm安装将Anaconda配置到Pycharm中添加一个python文件到工程Pycharm中嵌入AnacondaAnaconda下载关于这两个软件的介绍,相信不用我多说,大家都知道,Pycharm是一款很好用的Python的IDE支持很多牛逼的骚操作,而Anaconda则是一款集…

    2022年8月26日
    8
  • 如何注册免费域名

    如何注册免费域名首先,你需要一个域名,如果你自己买的有域名,那么这里我再说就没太多意义了,这里要说的是用免费的域名,是的,你没有看错,免费的域名首先登陆https://my.freenom.com网站注册个用户,当然了也可以先不用注册,如果想跟着本教程走,则最好是先不要注册用户(有Google账户的小伙伴可以直接登陆了)然后就是想个你要注册的域名,搜一下(注:只有.tk、.cf、.ml、.ga、….

    2022年6月18日
    27
  • 如何理解Python 面向对象编程思想

    如何理解Python 面向对象编程思想Python面向对象编程思想:从四个方面来理解1.宽泛的面向对象的概念举例说明面向过程:做一件事情,从头到尾,每一个细节都要关注,重点在于过程面向对象:做一件事情,用对象去做,不关心细节和过程,万物皆对象

    2025年7月21日
    4
  • C++基础篇 — vector的resize函数和reserve函数

    对于C++的vector容器模板类,存在size和capacity这样两个概念,可以分别通过vector的size()和capacity()方法获得该vector当前的size和capacity值。相应的,vector提供了两个方法来分别对size和capacity进行操作,它们就是resize方法和reserve方法。首先,对于size和capacity,这是两个比较容易混淆的概念。

    2022年4月7日
    97
  • 计算机二级考试python考试大纲

    计算机二级考试python考试大纲全国计算机等级考试二级Python语言程序设计考试大纲(2018年版)基本要求1.掌握Python语言的基本语法规则。2.掌握不少于2个基本的Python标准库。3.掌握不少于2个Python第三方库,掌握获取并安装第三方库的方法。4.能够阅读和分析Python程序。5.熟练使用IDLE开发环境,能够将脚本程序转变为可执行程序。6.了解Python计算生态在以下方面(不限于)的主要第三方库名称:网络爬虫、数据分析、数据可视化、机器学习、Web开发等。考试内容一、Python语言基本语法元

    2022年10月19日
    2
  • laravel微信自定义分享

    laravel微信自定义分享

    2021年10月28日
    66

发表回复

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

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