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