C++ nullptr空指针

我们在使用指针的时候,要尽量避免野指针的存在,即定义了就要初始化,如果暂时不知道具体指向哪块空间,那么可以初始化为空,我们有两种方式 1. NULL nullptr (C++11 新标准引入的 )。
//C
int *p = NULL; 

//C++
int *p = nullptr;
C++ NULL 被如下定义:
#ifndef NULL
#ifdef __cplusplus
#define NULL 0
我们看到 NULL 它是一个宏,在 C++ 中被明确定义为整数 0 ,这就导致了整型与指针的混用, nullptr 的出现解决了这个问题,它明确了自己的含义,空指针。
nullptr C++11 新标准引入的一个关键字,代表是空指针,如果出现了多个类型的空指针,仍然会语义不明确,则需要使用强转来明确空指针的类型。
C++ NULL nullptr 的区别:
1. NULL 是宏 替换的是 0 nullptr 是关键字。
2. 含义不同, nullptr 代表是空指针, NULL 代表整型数字。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值