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

C++空指针和野指针

空指针:指针被赋值为空
例如:

  • int* p = nullptr;
  • int* p = NULL;
    空指针指向的地址是00000000,但空指针不可以解引用
    在这里插入图片描述

野指针:指针指向了不可控的位置
例如:

  • 未初始化
    int* p; //野指针

  • 越界访问
    int intArr[5]{0, 1, 2, 3, 4};
    int* p = &intArr[5]; //野指针

  • 指向被释放的空间
    第一种情况,局部变量被释放
    string* uArr[2]{};
    void Test()
    {
    string a = “abc”; //局部变量,存放在栈中,函数结束就释放空间
    uArr[0] = &a;
    cout << uArr[0] << endl; //这里能打印出abc
    }
    Test();
    cout << uArr[0] << endl; //这里已经是野指针了

    第二种情况,delete
    int* p =new int;
    delete p; //释放p所在的空间
    cout << p << endl; //这是p就是野指针

http://www.lryc.cn/news/14658.html

相关文章:

  • LinkedList正确的遍历方式-附源码分析
  • 【蓦然回首忆Java·基础卷Ⅱ】
  • Mybatis源码分析系列之第二篇:Mybatis的数据存储对象
  • 防护设备检测实验室建设完整方案SICOLAB
  • Linux知识之主机状态
  • 是时候为您的银行机构选择构建一个知识库了!
  • 「TCG 规范解读」第7章 TPM工作组 TPM 总结
  • 一、Plugin Constructing the Boilerplate
  • 15、存储过程与函数
  • uniapp 原生安卓开发插件(module),以及android环境本地调试(二)
  • 【Java期末复习】《面向对象程序设计》练习库
  • 照片文件损坏能修复吗?
  • Git分布式版本控制工具
  • Python爬虫(8)selenium爬虫后数据,存入sqlit3实现增删改查
  • 最全Linux驱动开发全流程详细解析(持续更新)
  • 华为OD机试 - 乱序整数序列两数之和绝对值最小 | 机试题算法思路 【2023】
  • 网上插画教学哪家质量好,汇总5大插画培训班
  • 对云原生集群网络流量可观测性的一点思考
  • 借力英特尔® Smart Edge,灵雀云 ACP 5G 专网解决方案获得多维度优化加速
  • 【Pytorch项目实战】基于PaddlenHub的口罩检测与语音提示
  • EasyExcel 让Excel导入导出更简单
  • 华为OD机试 - 需要广播的服务器数量 | 机试题算法思路 【2023】
  • 三次握手四次挥手详细解析面试常问
  • 组合由于继承
  • 大学计算机基础 知识点总结
  • 手撸React组件库前必须清楚的9个问题
  • 试用国内及国外AI绘图软件后的总结
  • DJI 无人机 Onboard SDK ROS 功能包demo运行
  • 揭开JavaWeb中Cookie与Session的神秘面纱
  • 2023-02-20 Qt 5.13.1 + OpenCV 4.5.4环境编译