【C++11新特性nullptr】&&【NULL和nullptr区别】

1。NULL的作用&用法:

防止指针在内存里面瞎指(野指针),这样更安全

2。NULL的本质:

C:是一个void*类型指针。给任何一个指针初始化为NULL,实际上是(void*)类型指针对0强制类型转换;

允许void*类型变量隐式转换为其他类型

C++: NULL是一个宏定义,编译阶段赋值为0。仅仅是一个0,不允许隐式,必须强制(显式)

3。函数重载引入nullptr。nullptr本质是一个关键字,会自动类型转换所赋值的指针类型

因为在我们印象中NULL是一个空指针,我们自然的希望test(NULL)执行test(char*),但是在我们cpp中NULL仅仅就是个数,所以为了解决此问题,引入nullptr

nullptr如何使用
nullptr关键字用于标识空指针,是std::nullptr_t类型的(constexpr)变量。它可以转换成任何指针类型和bool布尔类型(主要是为了兼容普通指针可以作为条件判断语句的写法),但是不能被转换为整数。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值