c++语言中nullptr_C ++中的nullptr到底是什么

c++语言中nullptr

答案是“ C ++中nullptr到底是什么?” 对于有经验的C ++眼睛和那些了解现代C ++关键字的人来说,这将是小菜一碟。 但是nullptr不仅是C ++中的关键字,而且为了解释这一点,我已经写了这篇文章。 但是在开始之前,我们将看到NULL问题,然后我们将深入研究nullptr的简单实现以及nullptr的一些用例。

/!\:最初发布于www.vishalchovatiya.com

注意:本文的内容大致相同,您可以在此处此处nullptr提案(N2431)中找到,但有条理和简化。

为什么我们需要nullptr?

区分整数0(零)(即NULL)和类型指针的实际null。

nullptr与NULL

  • NULL为0(零),即,将C样式类型转换为void *的整数常数为零 ,而nullptr是nullptr_t类型的prvalue ,该值是整数常量,其 值为零
  • 对于那些相信NULL相同的人,即C和C ++中的(void *)0。 我想澄清的是,不是:

NULL-cppreference.com (C)

NULL-cppreference.com (C ++)

  • C ++要求将宏NULL定义为值为0的整数常量表达式。因此,与C语言不同,在C ++标准库中不能将NULL定义为(void *)0。

NULL问题

1️⃣ 隐式转换

char *str = NULL ; // Implicit conversion from void * to char *
int i = NULL ;     // OK, but &#
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值