C++空指针和野指针

news2024/10/6 1:42:41

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

  • 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.coloradmin.cn/o/360368.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Echarts+大屏

先放上我做的大屏吧&#xff0c;做的不是很好看&#xff0c;希望大家能见谅。 一、实验目的 理解大数据可视化的原理和方法掌握ECharts可视化的原理、步骤和效果掌握使用D3读取数据的方法 二、实验任务与要求 通过网店运营的销售数据&#xff0c;分别从各月的销售情况、各产品…

【1】linux命令每日分享——mkdir创建目录

大家好&#xff0c;这里是sdust-vrlab&#xff0c;Linux是一种免费使用和自由传播的类UNIX操作系统&#xff0c;Linux的基本思想有两点&#xff1a;一切都是文件&#xff1b;每个文件都有确定的用途&#xff1b;linux涉及到IT行业的方方面面&#xff0c;在我们日常的学习中&…

剑指offer-消失的数字、数组中出现的次数

消失的数字 解法一&#xff1a;求和相减 假设nums为[0,1,2,4],消失的数字为3&#xff0c;完整的数组应该是[0,1,2,3,4]&#xff0c;则sum101247,sum20123410&#xff0c;我们很容易发现 sum2-sum1 01234 - 0124 3&#xff0c;即为消失的数字。因此&#xff0c;我们可以采用先…

国内有哪些值得一去的通信类博物馆?

众所周知&#xff0c;博物馆是收藏、展示和研究历史文物的地方。参观博物馆&#xff0c;既可以回顾历史往事&#xff0c;也可以学习知识。那么&#xff0c;作为通信人&#xff0c;你知道国内有哪些通信领域的博物馆吗&#xff1f;今天&#xff0c;就让小枣君给大家介绍介绍。█…

没有基础学习编程Python难学吗?

你听说过Python吗&#xff1f;如果是这样&#xff0c;你有没有想过它是否很难学习&#xff1f;在本文中&#xff0c;我将告诉您什么是 Python 以及为什么在 2023 年学习它是一个好主意。Python 是一种计算机编程语言&#xff0c;广泛用于 Web 开发、科学计算、数据分析、人工智…

ChatGPT的API接口的模型有多少种?这些模型都有什么功能或者在应用场景上有什么区别?【模型介绍使用与调用接口方法】

OpenAI 的 API 接口提供了多个 GPT-3 模型,每个模型针对不同的应用场景和任务进行了优化。以下是目前可用的 GPT-3 模型: davinci: 这是最大和最全面的模型,具有最高的准确性和灵活性,用于多种自然语言处理任务,如文本生成、对话系统、翻译等。 curie: 这个模型比 davin…

MySQL:想实现sql语句进行批量删除数据库或表,而引发的熬夜探究

因为在自测过程中&#xff0c;创建了很多数据库&#xff0c;一个个手动删除属实有点对不起程序员这个身份&#xff0c;那么有没有简单的sql语句操作来进行批量删除数据库呢&#xff1f;于是便有了本篇文章 上面图片是AI创作&#xff0c;未经允许&#xff0c;不可商用哦&#xf…

谷粒学苑第一天

谷粒学苑第一天 官方文档&#xff08;多看看&#xff09;&#xff1a;https://mybatis.org/mybatis-3/zh/sqlmap-xml.html#Auto-mapping 问题1&#xff1a;新建springboot没有pom文件&#xff08;已解决&#xff09; 修改pom文件 有这个web依赖&#xff0c;properties才会是小…

CRM外呼系统

对于如今企业来讲&#xff0c;电销依然是企业进行销售的主要手段&#xff0c;因其成本低&#xff0c;覆盖率较广&#xff0c;时间获客较短。运用公司自动化信息管理技术和专业化运行平台&#xff0c;完成公司产品的推介、咨询、报价以及产品成交条件确认等主要营销过程的业务 …

yolov5源码解读--数据处理模块

yolov5源码解读--数据处理模块加载数据读取图片加载标签马赛克数据增强图片标签其他的数据增强变图像变标签__getitem__构建Batch加载数据 create_dataloader 跳转到datasets.py文件中&#xff0c;可以看到支持输入的文件类型非常丰富。。 回归正题 跳转LoadImagesAndLabel…

小程序(九)后端 签到1

文章目录一、考勤时间表设计1、表设计二、缓存考勤时间1、mapper.xml2、常量封装类三、封装检测当天是否可以签到1、为什么要检测是否可以签到&#xff1f;2、怎么判断当天是工作日还是节假日&#xff1f;3、封装持久层代码1&#xff09;查询特殊休息日2&#xff09;查询特殊工…

jjava企业级开发-01

一、Spring容器演示 采用Spring配置文件管理Bean 1、创建Maven项目 修改项目的Maven配置 2、添加Spring依赖 在Maven仓库里查找Spring框架&#xff08;https://mvnrepository.com&#xff09; 同上添加其他依赖 <?xml version"1.0" encoding"UTF-8…

stm32f407探索者开发板(十八)——串口通信实验讲解(USART_RX_STA流程图详解)

文章目录一、uart_init&#xff08;串口初始化&#xff09;二、USART1_IRQHandler&#xff08;串口1中断服务程序&#xff09;三、main.c&#xff08;主函数&#xff09;四、关于printf的支持一、uart_init&#xff08;串口初始化&#xff09; 就是根据上一篇的一样的步骤&…

数据结构之树

树是一种数据结构 包括&#xff1a; 根节点 度&#xff1a;每一个节点的子节点个数 左子节点&#xff1a;左下方的节点 右子节点&#xff1a;右下方的节点 左子树 右子树 树的内部结构 二叉查找树 又称二叉搜索树或者二叉排序树 特点 每一个节点最多只有两个节点 任…

【强化学习】解决gym安装Atari2600环境gym[atari,accept-rom-license] RuntimeError 无法下载Roms的问题

先上Roms.tar.gz安装地址&#xff1a;Roms.tar.gz 以下内容是解决问题的思路&#xff0c;如果已经完全知道问题原因可以直接跳过 安装gym[accept-rom-license]时会出现安装失败的情况: 先是卡在&#xff1a;Building wheel for AutoROM.accept-rom-license 然后是显示安装失败…

非常优秀的网站设计案例,设计师必备

厚积才能薄发&#xff0c;一个优秀的设计师的天性一定是想要获得更多网站设计灵感&#xff0c;擅于为新项目寻找创意切入点、搜索设计参考资源、最新的设计趋势。今天为大家带来了一组免费可商用的网站设计案例&#xff0c;通过这些网站设计案例&#xff0c;你可以获得&#xf…

To prevent a memory leak, the JDBC Driver has been forcibly unregistered.

java项目发布到kubernetes集群中&#xff0c;报错 SEVERE: The web application [] registered the JDBC driver [com.alibaba.druid.proxy.DruidDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has …

Obsidium一键编码作业,Obsidia惊人属性

Obsidium一键编码作业,Obsidia惊人属性 每个区域都包含几个可定制的功能&#xff0c;允许用户确定如何完全执行应用程序的安全性。Obsidia的功能区允许用户存储任何调整或一键编码作业。 Obsidia惊人属性&#xff1a; 代码虚拟化&#xff1a;代码虚拟化允许您转换程序代码的特定…

【电商】库存管理

库存管理&#xff0c;简单的说&#xff0c;就是管理商品和数量之间的关系。库存系统是电商后台系统中不可或缺的一部分 在电商系统中商品库存是非常重要的&#xff0c;在财务进销存系统中也梳理过存货的内容&#xff0c;在销售系统和仓库中的库存有什么区别&#xff1f; 一、什…

SSH 服务支持弱加密算法

漏洞扫描有SSH 服务支持弱加密算法&#xff0c;解决方案有两个&#xff1a; 方案一&#xff1a;修改 SSH 配置文件&#xff0c;添加加密算法&#xff1a; vi /etc/ssh/sshd_config 最后添加一下内容&#xff08;去掉 arcfour、arcfour128、arcfour256 等弱加密算法&#xff09;…