一、nullptr关键字及用法

  1)NULL的二义性

    void func(int) {}

    void func(int*) {}

    当函数调用func(NULL)时会执行哪个函数呢?

  先看C++对NULL的定义:

    #if defined(__cplusplus)

    # define NULL 0         /* C++中使用0作为NULL的值 */

    #else # define NULL ((void *)0)   /* C中使用((void *)0)作为NULL的值 */

    #endif

  我们可以看到C++的NULL被宏定义为0,所以函数func(NULL)会执行func(NULL)函数,而C里面会执行func(int),

  为个解决这个问题,引入了nullptr(空指针常量),当函数调用func(nullptr)时执行func(int*)。

最新文章

  1. Git版本控制管理学习笔记5-提交
  2. Page-encoding specified in XML prolog (UTF-8) is different from that specified in page directive (utf-8)
  3. css兼容问题
  4. MyKTV
  5. set -x 跟踪脚本执行信息
  6. JUnit 简单的使用 (学习转载)
  7. win8或win8.1修改注册表失败的原因
  8. 纯HTML标签详解
  9. MySQL - 复制数据表
  10. nginx-configure执行大致流程
  11. vs修错小知识,相当于我自己的笔记,需要的人可以看下
  12. (简单) POJ 2352 Stars,Treap。
  13. ZooKeeper 03 - ZooKeeper集群的脑裂问题 (Split Brain问题)
  14. [Vue] vue跳转外部链接
  15. .NET使用gRPC
  16. break与continue,return结束循环区别
  17. Angular 个人深究(三)【由Input&Output引起的】
  18. 对TCP连接被重置解决方案的探究
  19. OSPF的特征、术语、包类型、邻居关系的建立、RID的选择、DR和BDR的选举、度量值的计算、默认路由、验证
  20. spring AOP 动态代理和静态代理以及事务

热门文章

  1. Python整合pdf【新手必学】
  2. 一个简单的python爬虫,爬取知乎
  3. python web django base skill
  4. 你了解真正的 restful API 吗?
  5. 将训练好的Tensorflow模型部署到web应用中
  6. HTML中的meta元素
  7. idea如何提取变量(拆分变量赋值和声明)
  8. 工具 - 正则Cheat sheet
  9. composer基本命令
  10. 在Linux系统中使用ntfs、fat32格式的存储设备