delete[] 如何“知道”操作数数组的大小?

2023-11-22

Foo* set = new Foo[100];
// ...
delete [] set;

您没有将数组的边界传递给delete[]。但这些信息存储在哪里?是否标准化?


当您在堆上分配内存时,分配器将跟踪您分配了多少内存。它通常存储在您分配的内存之前的“头”段中。这样,当需要释放内存时,解除分配器就确切地知道要释放多少内存。

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

delete[] 如何“知道”操作数数组的大小? 的相关文章

  • Windows 上使用 g++ 的 Makefile,链接库

    我已经厌倦了 MSVC 6 以及每个人总是告诉我它是一个蹩脚的编译器等等 所以现在我决定尝试使用 vim 加 g 和 makefile 这是我的问题 我有以下 makefile This is supposed to be a commen
  • DispatcherTimer 未按时执行

    我正在使用 c 中的 DispatchTimer 编写一个时钟应用程序 但由于某些原因 我的时钟似乎时不时地跳过 1 秒 例如 52 秒 gt 54 秒 跳过 53 秒 在我看来 计时器并不是每秒都执行一次 DispatcherTimer
  • 必须打开存储才能执行此操作 - System.IO.Packaging.Package

    我正在使用 System IO Packaing Package 类来压缩文件 我的应用程序的多个实例可以同时运行 并读取和保存文件 当处理小文件时 一切似乎都很好 但是当涉及大文件时 如果应用程序的两个实例同时保存 我会收到一个异常 消息
  • SetWindowsHookEx 函数返回 NULL

    我正在研究 DLL 注入 但收到错误如下 挂接进程失败 87 参数不正确 目标进程和dll都是64位的 注入代码为 BOOL HookInjection TCHAR target TCHAR dll name https msdn micr
  • 返回 int& 的函数[重复]

    这个问题在这里已经有答案了 我在网上查了一下发现一篇试图解释的文章std move和右值 http thbecker net articles rvalue references section 01 html并发现了一些我实在无法掌握的东
  • 在运行时设置 DataGridView 上的 DataFormatString?

    是否可以在运行时设置 ASP NET DataGridView 中的列或单元格的 DataFormatString 属性 这应该有效 BoundField priceField grid Columns 0 as BoundField pr
  • 通过引用传递时取消引用指针

    当通过引用传递给函数时取消引用指针时会发生什么 这是一个简单的例子 int returnSame int example return example int main int inum 3 int pinum inum std cout
  • rand() 播种与 time() 问题

    我很难弄清楚如何使用 rand 并使用 Xcode 用 time 为其播种 我想生成 0 到 1 之间的随机十进制数 该代码为我提供了元素 1 和 2 看似随机的数字 但元素 0 始终在 0 077 左右 有什么想法吗 我的代码是 incl
  • 如何在 Windows 窗体中运行屏幕保护程序作为其背景?

    如何在 Windows 窗体中运行屏幕保护程序作为其背景 用户还可以在屏幕保护程序运行时与表单控件进行交互 为什么这个 我们有一个案例 需要在用户时运行 Windows Bubbles 屏幕保护程序 可以继续与表单控件交互吗 您可以使用以下
  • 特定设备的不同字体大小

    我目前正在开发通用应用程序 我需要分别处理移动设备和桌面的文本框字体大小 我找到了一些方法 但都不能解决问题 使用 VisualStateManager 和 StateTrigger 为例
  • 抽象类或接口。哪种方式是正确的?

    有两种方法可以选择抽象类或接口 微软解决方案和Oracle解决方案 微软 设计指南 请使用抽象 在 Visual Basic 中为 MustInherit 类而不是接口来将协定与实现分离 http msdn microsoft com en
  • 如何使用泛型类型的 DataContractSerializer 编写自定义序列化器?

    我想编写一个自定义序列化器 用于将会话状态存储到Azure 缓存 预览版 这意味着这个自定义序列化器必须实现IDataCacheObjectSerializer 如果我错了 请告诉我 我需要编写这个自定义序列化程序的原因是我需要序列化一些包
  • Microsoft.Graph - 如何从具有不同用户名的共享邮箱发送?

    我目前正在将使用 SMTP 的服务代码移植到 Office 365 通过 SMTP 我可以使用 发件人 字段在来自共享收件箱的邮件上设置不同的用户名 同时保留共享电子邮箱地址 这似乎无法通过 Office 365 运行 其工艺流程为 客户填
  • c# 如何生成锦标赛括号 HTML 表

    所以我已经被这个问题困扰了三个星期 但我一生都无法弄清楚 我想做的是使用表格获得这种输出 演示 http www esl world net masters season6 hanover sc2 playoffs rankings htt
  • 如何在 C# 中使用 XmlDsigC14NTransform 类

    我正在尝试使用规范化 xml 节点System Security Cryptography Xml XMLDsigC14nTransformC net Framework 2 0 的类 该实例需要三种不同的输入类型 NodeList Str
  • 从包含大量文件的目录中检索文件

    我的目录包含近 14 000 000 个 wav 格式的音频样本 所有普通存储 没有子目录 我想循环浏览文件 但是当我使用DirectoryInfo GetFiles 在该文件夹上 整个应用程序冻结了几分钟 可以用另一种方式完成吗 也许读取
  • `cosf`、`sinf` 等不在 `std` 中 [重复]

    这个问题在这里已经有答案了 根据这里的讨论 我有报告了一个错误 https bugs launchpad net ubuntu source gcc 8 bug 1831385给 Ubuntu 开发者 编译以下示例 C 程序时 includ
  • 理解 C++11 中的 std::atomic::compare_exchange_weak()

    bool compare exchange weak T expected T val compare exchange weak 是 C 11 中提供的比较交换原语之一 它是weak即使对象的值等于 它也会返回 falseexpected
  • 如何将 CSV 文件读入 .NET 数据表

    如何将 CSV 文件加载到System Data DataTable 根据CSV文件创建数据表 常规 ADO net 功能是否允许这样做 我一直在使用OleDb提供者 但是 如果您正在读取具有数值的行 但希望将它们视为文本 则会出现问题 但
  • c# 替代方案中 cfusion_encrypt 中填充的密钥是什么?

    我找到了从这里复制 C 中的 cfusion encrypt 函数的答案 ColdFusion cfusion encrypt 和 cfusion decrypt C 替代方案 https stackoverflow com questio

随机推荐

  • 如何在 ARM 模板中检索 Application Insight(驻留在另一个资源组中)的检测密钥?

    有没有办法在 ARM 模板中检索 Application Insights 驻留在另一个资源组中 的仪器密钥 我已经使用以下代码使用 ARM 模板创建了一个 appInsights schema http schema management
  • Android 添加本机支持 - 未解析的 jni.h、android/log.h 等

    今天之前我使用 Eclipse 3 8红杉插件适用于 Android NDK 项目 但今天我决定将 Eclipse 更新为带有 SDK 和 NDK 的 Juno 版本 我很高兴然后我看到Android 原生工具在 ADT 安装中 它将执行与
  • 如何将自定义 git hook 添加到 GitHub Enterprise 存储库?

    我已经启动了 GitHub Enterprise 11 10 272 的实例并创建了一个存储库 我已经用 Ruby 编写了一个预接收钩子 我想将其与该存储库一起使用 GitHub Enterprise 与常规 GitHub 一样 允许配置服
  • NODE_ENV === '生产'之外的精简代码。这意味着 Redux 的开发构建速度会变慢

    所以这是完整的错误 您当前正在使用 NODE ENV 生产 之外的精简代码 这意味着您正在运行较慢的 Redux 开发版本 我正在使用第三方图表库 CanvasJS 它需要访问全局范围 当我将它导入到我的任何模块中时 在浏览器中 可能是th
  • 为什么这里在数组定义中使用 splat ?

    def initialize apps catch 404 apps has app apps each app add app catch catch each status catch status true end 在这个方法中从机架
  • Eclipse 上的 PyDev Jython 交互式控制台创建失败

    为什么在 Eclipse 中调用我的 Jython 交互式控制台时可能无法创建 按照 Jython 手册中的 在 IDE 中使用 Jython 说明进行操作 http www jython org jythonbook en 1 0 Jyt
  • 有没有正确的方法来处理重叠的 NSView 兄弟姐妹?

    我正在开发一个 Cocoa 应用程序 并且遇到了一种情况 我希望两个 NSView 对象重叠 我有一个父 NSView 其中包含两个子视图 NSView A 和 NSView B 每个子视图都可以有自己的多个子视图 有没有适当的方法来处理这
  • jQuery SlideDown 不流畅

    我有这个小的 jQuery SlideDown 效果http jsfiddle net Gg4eP 2 但动画不流畅 我做错了什么 谢谢你的时间 您只需为每个可扩展 div 添加宽度即可 http jsfiddle net BpMam 解释
  • 对象检测 API 错误:“ImportError:无法导入名称anchor_generator_pb2”

    我正在尝试获取 Tensorflow 的新功能物体检测API在职的 我已经按照安装说明 但是当运行命令时 python object detection builders model builder test py 我收到以下错误 from
  • swfupload 不再在 IE 下工作

    http demo swfupload org v250beta2 simpledemo index php似乎不再在 IE 中工作了 有解决办法吗 我得到一个红十字 并且 按钮 不可点击 我运行的是 IE 8 我可以在 Windows 7
  • 格式“%d”需要“int”类型的参数,但参数 2 的类型为“int *”

    每次我在 hackerrank 上提交程序时都会出现以下错误 solution c In function main solution c 22 14 warning format d expects argument of type in
  • 箭头键在输入和文本区域中不起作用

    我的网络应用程序中有一个简单的文本区域和输入 由于某种原因 我无法使用箭头键返回输入的文本 输入光标不会向后移动 不过 我可以使用 ctrl a 或者用鼠标单击我要编辑的位置 这很令人困惑 我没有在代码中的任何关键事件中使用 e preve
  • Bash here 文档没有产生任何输出,知道为什么吗?

    在我的带有 Lubuntu 13 04 的 Acer 725 上 这个小脚本 bin bash echo echo lt
  • Django 过滤器与获取模型

    我是 Django 的新手 想了解过滤器与 get 之间的区别 Get Entry objects get id exact 14 Filter Entry objects filter id exact 14 上述声明有什么区别 提前致谢
  • Haskell - for 循环

    如果我想表达类似的东西 只是一个简单的例子 int a 0 for int x 0 x lt n x 1 a 1 a 我应该在哈斯克尔做什么 因为它没有变量概念 可能是错的 参见 Haskell 有变量吗 有几种选择 首先 您可以用朴素递归
  • 套接字异常:“端点映射器没有更多可用端点”

    我正在使用winsock 和C 来设置服务器应用程序 我遇到的问题是调用listen导致第一次机会异常 我想通常这些可以被忽略 但我发现其他人也有同样的问题 它导致应用程序偶尔挂起 任何帮助将不胜感激 第一个机会例外是 0x 1234567
  • 实现哈希表

    我正在尝试创建一个有效的查找表C 我有一个整数作为键和一个可变长度char 作为值 我看过uthash 但这需要固定长度char 价值 如果我把这个数字设得很大 那么我就使用了太多的内存 struct my struct int key c
  • ASP.Net MVC 的计划控件 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 是否有适用于 ASP Net MVC 的任何商业或其他
  • MAMP Config 帮助,显示 PHP 错误

    我正在 Snow Leopard 上运行最新版本的 MAMP 我的 php ini 文件已配置为显示错误 显示错误 打开 phpinfo 页面显示错误报告状态 为打开状态 我已经多次重新启动我的网络服务器 我用Google搜索过 没有发现类
  • delete[] 如何“知道”操作数数组的大小?

    Foo set new Foo 100 delete set 您没有将数组的边界传递给delete 但这些信息存储在哪里 是否标准化 当您在堆上分配内存时 分配器将跟踪您分配了多少内存 它通常存储在您分配的内存之前的 头 段中 这样 当需要