在 C++ 中释放指针两次或更多次时会发生什么?

2024-01-25

int main() {
    Employee *e = new Employee();

    delete e;
    delete e;
    ...
    delete e;
    return 0;
}

You get 未定义的行为如果你尝试delete一个对象多次通过指针。

这意味着几乎任何事情都可能发生,从“看似正常”到“崩溃”或完全随机的事情。

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

在 C++ 中释放指针两次或更多次时会发生什么? 的相关文章

  • 在模板类中声明模板友元类时出现编译器错误

    我一直在尝试实现我自己的链表类以用于教学目的 我在迭代器声明中指定了 List 类作为友元 但它似乎无法编译 这些是我使用过的 3 个类的接口 Node h define null Node
  • STL 迭代器:前缀增量更快? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的预增量比后增量快 正确吗 如果是 为什么呢 https stackoverflow com questions 2020184 preincrement faster than postinc
  • 类型中的属性名称必须是唯一的

    我正在使用 Entity Framework 5 并且有以下实体 public class User public Int32 Id get set public String Username get set public virtual
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • 在 Unity 中实现 Fur with Shells 技术

    我正在尝试在 Unity 中实现皮毛贝壳技术 http developer download nvidia com SDK 10 5 direct3d Source Fur doc FurShellsAndFins pdf Fins 技术被
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • x:将 ViewModel 方法绑定到 DataTemplate 内的事件

    我基本上问同样的问题这个人 https stackoverflow com questions 10752448 binding to viewmodels property from a template 但在较新的背景下x Bind V
  • C 编程:带有数组的函数

    我正在尝试编写一个函数 该函数查找行为 4 列为 4 的二维数组中的最大值 其中二维数组填充有用户输入 我知道我的主要错误是函数中的数组 但我不确定它是什么 如果有人能够找到我出错的地方而不是编写新代码 我将不胜感激 除非我刚去南方 我的尝
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • C++ 中的 include 和 using 命名空间

    用于使用cout 我需要指定两者 include
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使

随机推荐

  • tkinter 标签的背景颜色不会改变(python 3.4)

    我正在 python 3 4 中使用 Tkinter 制作一个小部件 由于某种原因 我无法更改标签的背景颜色默认的灰色 标签的代码是这样的 self label ttk Label master text Label Text foregr
  • Android:捕获 BLE 连接失败/断开连接?

    所以在正常情况下我能够很好地连接到 BLE 设备 我想做的是处理异常情况 例如与设备的连接失败或已建立的连接丢失 也许它被扔下悬崖或被公共汽车撞到 我正在使用 CyPress BLE 模块来测试这一点 我正在做的测试之一是断开模块的电源 然
  • 为什么 Spark 会失败并显示“检测到逻辑计划之间的 INNER join 的笛卡尔积”?

    我在用火花2 1 0 当我执行以下代码时 我从 Spark 收到错误 为什么 如何修复它 val i1 Seq a string another string last one toDF a b val i2 Seq one string
  • 为什么我的类在 Visual Studio 中默认是私有的?

    当我创建一个新的类文件时 Visual Studio 默认情况下不会将其公开 我可以改变这个吗 默认情况下 没有访问说明符的类是内部类 成员默认为私有类 这使得可见性尽可能受到限制 从而增加封装性 不假思索地公开一个新类就破坏了整个封装的想
  • 在异步循环中设置 useState 挂钩

    我对reactJs很陌生 我试图在异步循环中连接结果 但出了点问题 setState 未正确保存 当我打印它时 我可以看到它是一个空数组 我想是因为里面有一个异步调用 我该如何解决这个问题 请建议我 function App const d
  • 如何通过for循环在Rmarkdown中显示绘图图像?

    我正在处理一个列表svg打印到 html 文档 我正在使用magick包认为我愿意使用其他包 解决方案 下面的代码是我尝试渲染我的 html 文档 但是 不是渲染svg对于 html 文件 它只是将元数据打印到文档中 有没有办法克服这种行为
  • Karma:使用 WSL 中的 Windows Chrome

    我正在尝试使用 Windows 版本的 Google Chrome 从 WSL 启动 karma 在 karma conf js 中 我只使用 Chrome 浏览器 browsers Chrome 我像这样导出 CHROME BIN 环境变
  • LINQ to Entities 不支持指定的类型成员“Title”

    我在使用时遇到错误Title我的 Linq to Entity 中的属性 LINQ to 不支持指定的类型成员 Title 实体 仅初始值设定项 实体成员和实体导航 支持属性 我的查询是 var db FaraWorkspaceEntity
  • 基于 Woocommerce 中产品类别的条件自定义结帐字段

    我正在使用 woocommerce 作为一个非营利组织的网站 该网站出售课程门票和活动门票 当有人报名参加课程时 需要列出他们的紧急联系信息并同意免责 当他们购买活动门票时 非营利组织不需要紧急联系信息或责任免除 所以 他们希望这些字段仅在
  • rails 列不能为空:

    我注意到我的应用程序会自动将所有流程设置为在创建后立即完成 我浏览了一下 找不到为什么在没有被告知的情况下更新日期 但我发现我的观点之一是寻找一个不存在的字段 我创建了 完整 字段 将其设置为非空布尔值 然后再次尝试 我再次将其自动设置为
  • WinRT:如何将 WriteableBitmap 保存到本地文件夹

    如何在 WinRT 中使用 C 将 WriteableBitmap 保存到本地文件夹 您可以检查 WinRT XAML Toolkit 中的一组扩展方法来完全满足您的需要 http winrtxamltoolkit codeplex com
  • UIActivityViewController 在设备上呈现时崩溃

    我在项目中添加 ios 默认共享表 UIActivityViewController 时遇到问题 它在模拟器上运行良好 但在使用 USB 电缆或 testflight 在设备 iPhone 上运行时会崩溃 我收到的错误消息是 由于未捕获的异
  • 将 .net 4.5 应用程序降级到 4.0

    我想将 net 库从框架版本 4 5 降级到 net 4 0 我使用 nuget 安装了几个库 Microsoft AspNet WebApi Client 及其依赖项 Newtonsoft Json System Net Http Mic
  • 我没有关闭管道末端的一个,有什么问题发生吗?

    我使用管道在父进程和子进程之间进行通信 我读的书说 在父进程中 我必须关闭pipefd 1 但我没有这样做 也没有发生其他事情 所以我的问题是 如果我不关闭pipefd 1 有什么吗 不受控制 此致 int pipefd 2 if pipe
  • 用Java编写一个丢弃网络数据包的个人防火墙[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想用Java编写一个可以丢弃网络数
  • Android:谷歌地图 API 版本 2

    我按照步骤配置 Google Maps Android API v2官方步骤 https developers google com maps documentation android start我使用的是安卓3 1版本 我运行项目时遇到
  • UITextField,1个字符后自动移至下一个

    场景 我有 4 个 UITextField 仅接受 1 个字符 简单的 问题 输入 1 个字符后 我希望下一个 TextField 自动变为活动状态 而不必按下一个 即我正在使用 UIKeyboardTypeNumberPad 并且没有 N
  • 如何将 python 中的目标代码转换为 kotlin?

    我正在开发一个将使用分水岭的图像分割应用程序 为此 我找到了一个需要在 python 中使用的代码 但是 我很难转换为 kotlin 因为 Mat Mat 没有 Zero likes 函数 只有 Zero 函数 我使用的是opencv 3
  • MongoDB shell:如何搜索与名称或正则表达式匹配的集合

    当我使用 show collections 时 它返回一个相当长的所有集合的列表 如何编写查询来返回与模式匹配的集合 我希望有像 db collections name pattern 这样的东西 但找不到 您可以使用db getColle
  • 在 C++ 中释放指针两次或更多次时会发生什么?

    int main Employee e new Employee delete e delete e delete e return 0 You get 未定义的行为如果你尝试delete一个对象多次通过指针 这意味着几乎任何事情都可能发生