C++空指针和野指针

2023-10-28

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

  • 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就是野指针

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++空指针和野指针 的相关文章

  • C 编程 - 文件 - fwrite

    我有一个关于编程和文件的问题 while current NULL if current gt Id Doctor 0 current current gt next id doc current gt Id Doctor if curre
  • ASP.NET MVC:这个业务逻辑应该放在哪里?

    我正在开发我的第一个真正的 MVC 应用程序 并尝试遵循一般的 OOP 最佳实践 我正在将控制器中的一些简单业务逻辑重构到我的域模型中 我最近一直在阅读一些内容 很明显我应该将逻辑放在域模型实体类中的某个位置 以避免出现 贫血域模型 反模式
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • 嵌套接口:将 IDictionary> 转换为 IDictionary>?

    我认为投射一个相当简单IDictionary
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建
  • 如何使用 ICU 解析汉字数字字符?

    我正在编写一个使用 ICU 来解析由汉字数字字符组成的 Unicode 字符串的函数 并希望返回该字符串的整数值 五 gt 5 三十一 gt 31 五千九百七十二 gt 5972 我将区域设置设置为 Locale getJapan 并使用
  • 关于 C++ 转换:参数 1 从“[some_class]”到“[some_class]&”没有已知的转换

    我正在研究 C 并且遇到了一个错误 我不知道确切的原因 我已经找到了解决方案 但仍然想知道原因 class Base public void something Base b int main Base b b something Base
  • SolrNet连接说明

    为什么 SolrNet 连接的容器保持静态 这是一个非常大的错误 因为当我们在应用程序中向应用程序发送异步请求时 SolrNet 会表现异常 在 SolrNet 中如何避免这个问题 class P static void M string
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • 如何使用 C# / .Net 将文件列表从 AWS S3 下载到我的设备?

    我希望下载存储在 S3 中的多个图像 但目前如果我只能下载一个就足够了 我有对象路径的信息 当我运行以下代码时 出现此错误 遇到错误 消息 读取对象时 访问被拒绝 我首先做一个亚马逊S3客户端基于我的密钥和访问配置的对象连接到服务器 然后创
  • 将控制台重定向到 .NET 程序中的字符串

    如何重定向写入控制台的任何内容以写入字符串 对于您自己的流程 Console SetOut http msdn microsoft com en us library system console setout aspx并将其重定向到构建在
  • C# 成员变量继承

    我对 C 有点陌生 但我在编程方面有相当广泛的背景 我想做的事情 为游戏定义不同的 MapTiles 我已经像这样定义了 MapTile 基类 public class MapTile public Texture2D texture pu
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • 测试用例执行完成后,无论是否通过,如何将测试用例结果保存在变量中?

    我正在使用 NUNIT 在 Visual Studio 中使用 Selenium WebDriver 测试用例的代码是 我想在执行测试用例后立即在变量中记录测试用例通过或失败的情况 我怎样才能实现这一点 NUnit 假设您使用 NUnit
  • C# - OutOfMemoryException 在 JSON 文件上保存列表

    我正在尝试保存压力图的流数据 基本上我有一个压力矩阵定义为 double pressureMatrix new double e Data GetLength 0 e Data GetLength 1 基本上 我得到了其中之一pressur
  • C++ 中类级 new 删除运算符的线程安全

    我在我的一门课程中重新实现了新 删除运算符 现在我正在使我的代码成为多线程 并想了解这些运算符是否也需要线程安全 我在某处读到 Visual Studio 中默认的 new delete 运算符是线程安全的 但这对于我的类的自定义 new
  • 使用.NET技术录制屏幕视频[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一种方法可以使用 NET 技术来录制屏幕 无论是桌面还是窗口 我的目标是免费的 我喜欢小型 低
  • 对来自流读取器的过滤数据执行小计

    编辑问题未得到解答 我有一个基于 1 个标准的过滤输出 前 3 个数字是 110 210 或 310 给出 3 个不同的组 从流阅读器控制台 问题已编辑 因为第一个答案是我给出的具体示例的字面解决方案 我使用的实际字符串长度为 450 个

随机推荐

  • 基于51单片机机械臂控制系统

    1控制系统所运用到的模块 所用到的模块有 pca9685控制多路舵机模块 矩阵按键模块 LCD1702显示模块 DS18B20温度检测模块 独立按键模块 步进电机 ULN2003步进电机控制模 DS1302时钟模块 2控制系统工作模式的功能
  • 腾讯2014校园招聘笔试题

    腾讯 2014校招研发笔试题 试卷类型 软件开发A1 考试时长 120分钟 一 不定向选择题 共25题 每题4分 共100分 多选 错选 少选不得分 1 已知一棵二叉树 如果先序遍历的节点顺序是 ADCEFGHB 中序遍历是 CDFEGHA
  • eclipse启动不了,在加载到最后时刻卡死解决办法

    出现这种情况 关机 重启都无法解决的时候 方法一 到
  • CentOS7使用手册

    2 操作 yum remove openssl 问题 无法进入图形界面 解决 shell登录 执行 yum groupinstall KDE Plasma Workspaces reboot 1 操作 重装系统 然后安装了其它第三方库 问题
  • CentOS8服务篇7:配置网络存储iSCSI服务

    一 iSCSI技术概述 基于IP的存储区域网 Internet Small Computer System Interface iSCSI 又称IP SAN 它是一种基于因特网及SCSI 3协议的存储技术 由IETF提出 并于2003年2月
  • 原来类加载器的原理是这样执行的

    原文链接 深入类加载原理 我们知道 我们写的java文件是不能直接运行的 我们可以在IDEA中右键文件名点击运行 这中间其实掺杂了一系列的复杂处理过程 这篇文章 我们只讨论我们的代码在运行之前的一个环节 叫做类的加载 按照我写文章的常规惯例
  • MyBatis下DataSource的配置原理以及多数据源的配置

    MyBatis下多数据源的配置 多datasource的配置原理 将不同数据源的mapper接口放在不同的包内 再在数据源配置中 用 MapperScan注解扫描不同的包 引言 先来学习一下单数据源情况下的配置原理 只关心多数据源的配置方法
  • Linux常用命令总结

    很全啊 记录一下 https mp weixin qq com s biz MzI3MjY1ODI2Ng mid 2247485996 idx 1 sn 0a08bf2f04eed49542a96cee6928a561 chksm eb2e
  • 第一个 Spring Boot 子服务——会员服务

    经过上两个章节的分析 设计工作 相信你已经对项目的整体结构有了更清晰的认识 剩下的工作就是依据设计 将项目骨架拉出来 往里面直充血肉 搭建项目骨架 约定项目名称为 parking project 建立 Maven 项目 packaging
  • 广州面试题------39健康网1广州启生信息技术有限公司

    部分笔试答案 3 接口 interface 是抽象方法和常量值的定义的集合 从本质上讲 接口是一种特殊的抽象类 这种抽象类中包含常量和方法的定义 而没有变量和方法的实现 1 接口是一组规则的集合 它规定了实现本接口的类或接口必须拥有的一组规
  • 【语义分割】轻量级人像分割PP-HumanSeg NCNN C++ windows部署

    ncnn 是一个为手机端极致优化的高性能神经网络前向计算框架 ncnn 从设计之初深刻考虑手机端的部署和使用 无第三方依赖 跨平台 手机端 cpu 的速度快于目前所有已知的开源框架 基于 ncnn 开发者能够将深度学习算法轻松移植到手机端高
  • C++ std::string 字符串替换

    std string里面std replace只有单字符替换 std replace str begin str end 单字符替换 将双引号换成 符 如果有字符串替换的话需要配合find 使用
  • 【React】根据条件渲染不同的组件内容

    需求如下 但我点击不同的按钮时 下面渲染的是不同组件的内容 wokao这个图片大小咋调 每回都贼大 第一步 先写好不同组件的内容 第二步 在state状态里面加一个Type进行记录 第三步 核心代码如下 好了 说白了就是通过改变type的值
  • php 在线测试 tool,在线程序员工具箱

    Tool lu 将在线工具分为开发类 站长类 极客 Geek 类以及其他 其中收录很多在开发或网站站长会用到的工具 例如 CSS JavaScript PHP 代码优化 压缩 SQL Ruby 和 Json Python 等代码美化 图片编
  • 深度学习——全连接层(Fully connected dence layers)原理解析

    深度学习 全连接层 Fully connected dence layers 原理解析 一 简介 全连接层有多个神经元 是一个列向量 单个样本 在计算机视觉领域正常用于深度神经网络的后面几层 用于图像分类任务 全连接层算法包括两部分 前向传
  • Java集合篇:ArrayList详解

    一 ArrayList概述 ArrayList是实现了List接口的动态数组 所谓动态数组就是他的大小是可变的 实现了所有可选列表操作 并允许包括Null在内的所有元素 除了实现 List 接口外 此类还提供一些方法来操作内部用来存储列表的
  • Eclips 安装教程

    Eclipse 安装教程 一 Eclipse 下载 二 Eclipse 安装 三 Eclipse 使用 一 Eclipse 下载 第一步 进入官方下载网站 https www eclipse org downloads 点击下载按钮下方 D
  • ACM-ICPC如何起步

    刚刚绝定投身ACM ICPC的同学先要过两关 第一关 程序设计语言 如果学校有开设相关课程 则省去了很多麻烦 如果没有则可以选择 程序设计导引及在线实践 作为教材 现在的比赛中允许使用的语言相对局限 建议c和c 至少掌握一种 java可以在
  • [转]ZC702与ZedBoard开发板的比较

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额0 1元起步 多少随意 声明 本文只用于个人学习交流 若不慎造成侵权 请及时联系我 立即予以改正 锋影 email 174176320 qq com ZC702与Z
  • C++空指针和野指针

    空指针 指针被赋值为空 例如 int p nullptr int p NULL 空指针指向的地址是00000000 但空指针不可以解引用 野指针 指针指向了不可控的位置 例如 未初始化 int p 野指针 越界访问 int intArr 5