nullptr 出现的目的是为了替代 NULL。

在某种意义上来说,传统 C++ 会把 NULL、0 视为同一种东西,这取决于编译器如何定义 NULL,有些编译器会将 NULL 定义为 ((void*)0),有些则会直接将其定义为 0。

C++ 不允许直接将 void * 隐式转换到其他类型,但如果 NULL 被定义为 ((void*)0),那么当编译char *ch = NULL;时,NULL 只好被定义为 0。

这将导致C++ 中重载特性会发生混乱;

为了解决这个问题,C++11 引入了 nullptr 关键字,专门用来区分空指针、0。

nullptr 的类型为 nullptr_t,能够隐式的转换为任何指针或成员指针的类型,也能和他们进行相等或者不等的比较。

当需要使用 NULL 时候,养成直接使用 nullptr的习惯。

下面用VC6看一下;Win7;

新建一个单文档工程;

在视类头文件添加两个成员函数定义;

在视类CPP文件实现如下;

在OnDraw函数进行调用;分别定义指针为NULL,nullptr;

编译;不成功,如下;VC6不支持C++ 11;

注释掉nullptr语句;输出如下;

C++ 11 新特性 nullptr 学习相关推荐

  1. COSMIC的后端学习之路——2.1 C++11新特性(1)

    2.1 C++11新特性(1) 知识树 1.智能指针 (1)std::shared_ptr:共享的智能指针 ①初始化 ②获取原始指针 ③指定删除器(自定义删除对象) ④一些错误用法 (2)std::u ...

  2. C++11新特性之nullptr

    在C++11之前的C++98/03我们使用空都是NULL关键字,后来C++11之后新增了nullptr关键字来表示空.那么有了NULL还要弄个nullptr出来干什么呢?是不是吃太饱了? 为了来剖析这 ...

  3. C++ C++基础语法入门总结(二)引用-内联函数-C++11新特性

    C++基础语法入门总结 C++引用 再谈引用和指针 C++内联函数 附加C++11新特性 auto关键字 基于范围的for循环 指针空值nullptr C++引用 引用:就是某一变量(目标)的一个别名 ...

  4. 【C/C++】C++98基础上的C++11新特性

    一.新语法 1.自动类型推导auto auto的自动推导,用于从初始化表达式中推断出变量的数据类型. //C++98 int a = 10; string s = "abc"; f ...

  5. A Morden C++ —— C++11新特性指南

    A Morden C++ -- C++11新特性指南 by JOKER on 2013/10/14 不知不觉C++1x,也就是以前的C++0x已经基本达到工业使用的成熟度了,各个编译器的实现也很完整了 ...

  6. C++11新特性(原封不动转载待查)

    C++11标准发布已有一段时间了, 维基百科上有对C++11新标准的变化和C++11新特性介绍的文章. 我是一名C++程序员,非常想了解一下C++11. 英文版的维基百科看起来非常费劲,而中文版维基百 ...

  7. 【C++】C++11新特性列表

    我们学习的标准是C++98,我们知道计算机的知识更新非常快,本文旨在大致了解C++11的新特性,如果想要仔细了解,请阅读<C++Primer中文版 第五版>本文的页码也是这本书的页码,这里 ...

  8. IntelliJ IDEA 使用 Java 11新特性以及Java 8 以来的Java 11新特性介绍

    文章目录 Java 11 安装 IDEA 设置 特性1:lambda表达式中允许使用var 特性2: String新增REPEAT 方法,方便拷贝字符串 特性3: 文件读写更方便:readString ...

  9. C++11新特性之新类型与初始化

    C++11新特性之新类型与初始化 snoone | 2016-06-23 11:57    浏览量(148)    评论(0)   推荐(0) 数据 这是C++11新特性介绍的第一部分,比较简单易懂, ...

最新文章

  1. 哪些物联网应用最适合采用雾计算?
  2. springMVC--(讲解3)数据处理
  3. 从一道面试题,到“我可能看了假源码[2]
  4. C/C++常见的预处理指令
  5. LeetCode 917. 仅仅反转字母
  6. java 按钮 监听_Button的四种监听方式
  7. 企业级程序 苏林加密系统内测发布 支持多种加密
  8. 漫谈Linux标准的文件系统(Ext2/Ext3/Ext4)
  9. spring 的3种常用的注入方式
  10. 西门子G120C变频器中的参考速度+转速给定原理分析
  11. 身体神经系统分布图高清,身体神经系统分布图片
  12. 瑤里古鎮 婺源鄉村 你會去哪里呢
  13. pypython画图中的cumsum是什么_Python绘图之matplotlib基本语法
  14. 做一个登陆效果,输入用户名和密码,如果用户名是:张三,密码是:123就提示登陆成功,否则提示登录失败。
  15. 关于对小球相互碰撞处理的研究
  16. 下载王者荣耀高清壁纸
  17. 计算机褐色,脂肪也有“好坏”之分?看颜(yán)值(sè),看分布
  18. mongodb用户权限修改,删除以及robomongo显示问题
  19. python里的rindex是什么意思_用Python操作字符串之rindex()方法的使用
  20. 02 windows网络安全

热门文章

  1. Ignite 的helloworld第二弹!(附源码!下载即用)
  2. 三种去重方式——HashSet、Redis去重、布隆过滤器(BloomFilter)
  3. javascript修改CSS
  4. jquery的each()详细介绍
  5. leetcode 38. 外观数列 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下
  6. Python进阶05 循环设计
  7. 逻辑回归模型(Logistic Regression, LR)基础
  8. 利用构造函数进行简化类初始化
  9. python:字典,元组
  10. matlab p-tite分割图像,P'tite fourmi