C++ 在析构函数中删除向量类成员内存

2023-12-08

我有一个包含向量成员变量的类。 我知道存储在堆栈上的向量将是 当它们退出时被清理(即释放内存) 范围,但我不确定是否会破坏 类对象 - 包含向量成员变量 - 被认为超出范围。

如果不是,销毁的适当方法是什么 向量?

EG:

class fred {
    char *stuff;
    vector<int> v;

    fred() : stuff(), v() {}
    ~fred() {
         if (stuff) free(stuff);
         // now how do I clear up the vector v?  Will it be done automatically?
    }
 }

矢量已经为您清理干净了!当一个类被破坏时,它的所有成员析构函数也会被调用。在这种情况下v的析构函数被调用,它会清理它分配的所有内容。

当您到达结束时,将调用非静态成员的 dtors}析构函数的顺序与声明它们的顺序相反。然后调用您的基类析构函数(如果存在)。

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

C++ 在析构函数中删除向量类成员内存 的相关文章

  • 在 LINQ 查询中返回不带时间的日期

    我正在编写一个查询 我想计算按日期联系我们的呼叫中心的次数 看起来很简单 但由于联系日期字段是日期时间字段 我得到了时间 因此当我按联系日期 时间 分组时 每个联系日期实例的计数为 1 所以 我想只按日期分组 而不按时间分组 下面是我用来查
  • 属性对象什么时候创建?

    由于属性实际上只是附加到程序集的元数据 这是否意味着属性对象仅根据请求创建 例如当您调用 GetCustomAttributes 时 或者它们是在创建对象时创建的 或者 前两个的组合 在由于 CLR 的属性扫描而创建对象时创建 从 CLR
  • 自动从 C# 代码进行调试过程并读取寄存器值

    我正在寻找一种方法来读取某个地址的 edx 注册表 就像这个问题中所问的那样 读取eax寄存器 https stackoverflow com questions 16490906 read eax register 虽然我的解决方案需要用
  • 如何在 Unity 中从 RenderTexture 访问原始数据

    问题的简短版本 我正在尝试访问 Unity 中 RenderTexture 的内容 我一直在使用 Graphics Blit 使用自己的材质进行绘制 Graphics Blit null renderTexture material 我的材
  • Cygwin 下使用 CMake 编译库

    我一直在尝试使用 CMake 来编译 TinyXML 作为一种迷你项目 尝试学习 CMake 作为补充 我试图将其编译成动态库并自行安装 以便它可以工作 到目前为止 我已经设法编译和安装它 但它编译成 dll 和 dll a 让它工作的唯一
  • 如何在我的应用程序中使用 Windows Key

    Like Windows Key E Opens a new Explorer Window And Windows Key R Displays the Run command 如何在应用程序的 KeyDown 事件中使用 Windows
  • 跨多个控件共享事件处理程序

    在我用 C 编写的 Windows 窗体应用程序中 我有一堆按钮 当用户的鼠标悬停在按钮上时 我希望按钮的边框发生变化 目前我有以下多个实例 每个按钮一个副本 private void btnStopServer MouseEnter ob
  • 如何在 WPF RichTextBox 中跟踪 TextPointer?

    我正在尝试了解 WPF RichTextBox 中的 TextPointer 类 我希望能够跟踪它们 以便我可以将信息与文本中的区域相关联 我目前正在使用一个非常简单的示例来尝试弄清楚发生了什么 在 PreviewKeyDown 事件中 我
  • 使用 C# 在 WinRT 中获取可用磁盘空间

    DllImport kernel32 dll SetLastError true static extern bool GetDiskFreeSpaceEx string lpDirectoryName out ulong lpFreeBy
  • C# 用数组封送结构体

    假设我有一个类似于 public struct MyStruct public float a 我想用一些自定义数组大小实例化一个这样的结构 在本例中假设为 2 然后我将其封送到字节数组中 MyStruct s new MyStruct s
  • c# Asp.NET MVC 使用FileStreamResult下载excel文件

    我需要构建一个方法 它将接收模型 从中构建excel 构建和接收部分完成没有问题 然后使用内存流导出 让用户下载它 不将其保存在服务器上 我是 ASP NET 和 MVC 的新手 所以我找到了指南并将其构建为教程项目 public File
  • HttpClient 像浏览器一样请求

    当我通过 HttpClient 类调用网站 www livescore com 时 我总是收到错误 500 可能服务器阻止了来自 HttpClient 的请求 1 还有其他方法可以从网页获取html吗 2 如何设置标题来获取html内容 当
  • 当 Cortex-M3 出现硬故障时如何保留堆栈跟踪?

    使用以下设置 基于 Cortex M3 的 C gcc arm 交叉工具链 https launchpad net gcc arm embedded 使用 C 和 C FreeRtos 7 5 3 日食月神 Segger Jlink 与 J
  • 在 ASP.Net Core 2.0 中导出到 Excel

    我曾经使用下面的代码在 ASP NET MVC 中将数据导出到 Excel Response AppendHeader content disposition attachment filename ExportedHtml xls Res
  • 更改窗口的内容 (WPF)

    我创建了一个简单的 WPF 应用程序 它有两个 Windows 用户在第一个窗口中填写一些信息 然后单击 确定 这会将他们带到第二个窗口 这工作正常 但我试图将两个窗口合并到一个窗口中 这样只是内容发生了变化 我设法找到了这个更改窗口内容时
  • 可空属性与可空局部变量

    我对以下行为感到困惑Nullable types class TestClass public int value 0 TestClass test new TestClass Now Nullable GetUnderlyingType
  • 将日期参数传递给对 MVC 操作的 ajax 调用的安全方法

    我有一个 MVC 操作 它的参数之一是DateTime如果我通过 17 07 2012 它会抛出一个异常 指出参数为空但不能有空值 但如果我通过01 07 2012它被解析为Jan 07 2012 我将日期传递给 ajax 调用DD MM
  • 作为字符串的动态属性名称

    使用 DocumentDB 创建新文档时 我想设置属性名称动态地 目前我设置SomeProperty 像这样 await client CreateDocumentAsync dbs db colls x new SomeProperty
  • 在Linux中使用C/C++获取机器序列号和CPU ID

    在Linux系统中如何获取机器序列号和CPU ID 示例代码受到高度赞赏 Here http lxr linux no linux v2 6 39 arch x86 include asm processor h L173Linux 内核似
  • 为什么 strtok 会导致分段错误?

    为什么下面的代码给出了Seg 最后一行有问题吗 char m ReadName printf nRead String s n m Writes OK char token token strtok m 如前所述 读取字符串打印没有问题 但

随机推荐

  • Google Contact API v3:如果在联系人组中搜索,则忽略 q 参数

    我正在使用 Google Contact API v3 目标是同步我的数据库和 Google 帐户之间的联系人 我的问题是 1 当我在没有联系人组的情况下通过电子邮件地址搜索联系人时 我得到了一个好的结果 这是查询 https www go
  • 如何使用 Twitter Bootstrap 在 Twitter 网站上复制关注/取消关注悬停操作?

    当您查看自己关注的人时Twitter 按钮从 关注 变为 取消关注 从绿色变为红色 并且从复选标记变为 x 标记 我如何在我的网站上复制此内容 我意识到它可能是 bootstrap css 和 bootstrap buttons js 的组
  • 猫鼬聚合与 geonear

    我正在尝试使用 Mongoose geoNear 命令实现分页 geoNear 似乎不支持跳过 并且我知道聚合可以工作 使用具有性能成本的分页 如何将其转换为聚合查询以跳过多个文档 exports near function req res
  • 我两次收到同样的消息

    如果新用户开始对话 我使用此代码发送不同的消息 IConversationUpdateActivity update message var client new ConnectorClient new Uri message Servic
  • 我们可以在没有 JRE 的系统中运行 Java 应用程序吗?

    我创建了一个java应用程序 我为我的应用程序创建了可执行的 jar 和 Exe 文件 但它不能在未安装计算机的系统上运行 怎么做 是否可以在 EXEcutable jar 或 Exe 文件本身中配置 JRE 任何想法 我认为这项目 lau
  • Ruby 中的随机句子生成器:如何随机选择哈希中特定键的值?

    我正在开发 RSG 的 Ruby 版本 但不知为何陷入了句子生成过程 所以我设法实现了所有功能 如读取 转换为哈希 等 但问题是如何随机选取哈希中的值来生成句子 现在我这里有一个哈希 hash
  • 删除 Android 的 Xamarin 表单中材料输入控制的下划线

    我需要删除 Xamarin Forms for Android 中材料输入控件的下划线 我使用的是 Xamarin Forms 版本 4 8 0 1687 在此之前 在之前的 Xamarin Forms 版本 4 6 0 847 中 我曾经
  • 是否可以将 web.config 中的安全部分添加到外部文件

    我需要通过配置文件阻止一个巨大的IP列表
  • Android应用程序类别和权限列表

    只是想知道 互联网上是否有一个列表 其中列出了通常与某些应用程序类别类型相关的所有权限 eg Media Applications generally have the following permissions android permi
  • 箱线图数据点异常值的对齐和颜色

    是否可以将箱线图的数据点和异常值对齐在一条直线上 就像箱线图的中心一样 此外 我可以为数据点着色吗 当前和所需的屏幕截图均附在其中 您可以使用 dataWidthPortion 0 根本不分散要点 文档 如果没有访问器 则更改任何内容的颜色
  • 如何从 Perl 哈希在 Python 中创建等效的字典?

    我是Python新手 无法理解字典哈希 这是我的 Perl 代码 my sites foreach indexes push sites 1 if foreach my sites keys sites devices sites site
  • 如何强制Java FX场景刷新?

    我有一个 Java FX 场景 其中有一个开始按钮和几个代表地图图块的矩形 我还绘制了一个代表我的探险家的球体 它必须探索地图 但我在运行动画时遇到困难 在开始按钮的 OnMouseClicked 处理程序中 我启动了一个用于探索地图的算法
  • 如何将文件添加到 exe

    我有一个播放声音的程序 但如果我在另一台计算机上运行它 它会说找不到该文件 如何将文件附加到 exe 上 以便当有人播放 exe 时它仍然能够播放 如果您想将波形文件嵌入到程序中 请转到项目属性 gt 资源 gt 选择音频作为类型 然后选择
  • 如何在编辑模式下绑定下拉控件?

    我有一个国家 地区及其相应州的列表 现在我想在编辑模式下打开时在下拉控件中绑定国家和州值 这是小提琴手链接 http jsfiddle net mariapitia 4yj8rprp 9 tr td strong friend Id str
  • 延迟绑定失败

    我的应用程序抛出 java lang RuntimeException Deferred binding failed for com mygwtapp client gin ClientAppGinjector did you forge
  • Excel/Sheet 合并行列内容并找到尊重的值

    Sheet1 我在 Sheet1 上有基于颜色的汽车价格数据 Car Red Blue Black White BMW 100 120 90 120 FIAT 90 100 110 120 FORD 70 80 80 80 Sheet2 我
  • NoSuchBeanDefinitionException 如何初始化SessionFactory bean?

    我有个问题 我尝试使用 Spring 和 Hibernate 运行我的 Web 应用程序 我遇到了一个奇怪的错误 NoSuchBeanDefinitionException 堆栈跟踪是 Caused by org springframewo
  • 在Android上监听自己的应用程序卸载事件

    据我所知 应用程序无法获取自己的卸载意图 ACTION PACKAGE FULLY REMOVED ACTION PACKAGE REMOVED But Dolphin 浏览器如何设法接收 已删除 事件并启动浏览器 如附图所示 ADB 10
  • PHP - 如何将 RGB 颜色转换为 CIE 1931 颜色规范

    我正在创建自己的基于 PHP 的应用程序 我想将 RGB 颜色更改为 CIE 1931 的 xy 格式 如何将 RGB 颜色规格转换为 CIE 颜色空间 首先用变换矩阵计算 X Y 和 Z 然后对结果进行归一化 X 0 4124 R 0 3
  • C++ 在析构函数中删除向量类成员内存

    我有一个包含向量成员变量的类 我知道存储在堆栈上的向量将是 当它们退出时被清理 即释放内存 范围 但我不确定是否会破坏 类对象 包含向量成员变量 被认为超出范围 如果不是 销毁的适当方法是什么 向量 EG class fred char s