当前位置: 首页 > news >正文

指针空值类型-nullptr

在C++中指针的初始化通常有两种:

char *ptr = 0;
char *ptr = NULL;

NULL的宏定义:

#ifndef NULL#ifdef __cplusplus //预处理指令,用于识别代码是否处于c++环境中。#define NULL 0#else#define NULL ((void *)0)#endif
#endif

如果处于c++环境 NULL就是0 如果处于C语言的环境NULL表示(void *)0。

在C++环境中void * 无法隐式转换为其他类型的指针 随意用0代替

用0或NULL不能很好的覆盖全部场景所以引入新的关键字(nullptr)用于指针的初始化

C++11中 nullptr 可以隐式转换为其他的指针类型 比如  int*、char* 以及 double* 指针类型

int*    ptr1 = nullptr;
char*   ptr2 = nullptr;
double* ptr3 = nullptr;


http://www.mrgr.cn/news/16499.html

相关文章:

  • 51单片机.之i2c读写eproom
  • 单门店共享自习室小程序系统源码搭建对接门禁和空开api
  • 深入理解并实现——归并排序【C语言】
  • ChatTTS 长音频合成和本地部署2种方式,让你的“儿童绘本”发声的实战教程(文末有福利)
  • 前胡基因组与伞形科香豆素的进化-文献精读42
  • 线性查找表的应用:用户登录注册程序
  • Scala之父Martin Odersky作序推荐的Scala速学版(第3版)出版
  • Java中的注解(Annotation)
  • ESM和CommonJS详解
  • vue3 element-plus 按下回车键搜索方法
  • 新160个crackme - 043-riijj_cm_20041121
  • jmeter响应断言、json断言、断言持续时间操作
  • mysql基础语法——个人笔记
  • Go 1.19.4 文件读写操作-Day 14
  • 100天带你精通Python——第8天面向对象编程
  • 【鬼灭之刃学英语 立志篇】2、义勇对炭治郎的怒斥
  • SAP LE学习笔记07 - MM与WM跨模块收货到仓库的流程中 如何实现 先上架再入库
  • 如何使用vcftools提取特定的染色体
  • JMeter 接口自动化测试:以搜索功能为例的实现思路详解
  • IT 行业的就业情况