如何手动销毁成员变量?

2024-04-23

我有一个关于析构函数的基本问题。

假设我有以下课程

class A
{
public:

int z;
int* ptr;

A(){z=5 ; ptr = new int[3]; } ;
~A() {delete[] ptr;};

}

现在析构函数应该销毁对象的实例。 上面的析构函数正是这样做的,释放由 new 分配的动态分配的内存。

但是变量呢z?我应该如何手动销毁它/释放分配的内存z?当类超出范围时它会自动销毁吗?


它会自动“销毁”,尽管在您的示例中int z是 POD 类型,没有显式的析构函数...内存只是被回收。否则,如果该对象有一个析构函数,则会在主类的析构函数主体之后调用它来正确清理该非静态数据成员的资源A已完成,但未退出。

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

如何手动销毁成员变量? 的相关文章

  • C修改printf()输出到文件

    有没有办法修改printf为了将字符串输出到文件而不是控制台 我尝试在互联网上查找一些内容 发现了类似的电话dup dup2 and fflush这可能与此有关 EDIT 也许我不清楚 问题是这是C考试问题 问题如下 解释一个通常将字符串输
  • 没有 Unicode 字节顺序标记。无法切换到 Unicode

    我正在使用 XSD 编写 XML 验证器 下面是我所做的 但是当验证器到达该线时while list Read 它给了我错误 没有 Unicode 字节顺序标记 无法切换到 Unicode 有人可以帮我解决吗 public class Va
  • 通过单个 GPIO 引脚转储闪存

    我正在使用 Infineon 的 XMC4500 Relax Kit 并尝试通过单个 GPIO 引脚提取固件 我非常天真的想法是通过 GPIO 引脚一次转储一位 然后用逻辑分析仪以某种方式 嗅探 数据 伪代码 while word by w
  • 关闭 XDOCUMENT 的实例

    我收到这个错误 该进程无法访问文件 C test Person xml 因为它是 被另一个进程使用 IOException 未处理 保存文件内容后如何关闭 xml 文件的实例 using System using System Collec
  • 如何将字节块读入结构体

    我有一个需要处理的资源文件 它包含一组文件 首先 资源文件列出了其中包含的所有文件 以及一些其他数据 例如在此结构中 struct FileEntry byte Value1 char Filename 12 byte Value2 byt
  • 将 C# 反射代码移植到 Metro-Ui

    我正在尝试移植使用反射的现有 C 类 通用工厂 但我无法编译这段代码 Type types Assembly GetAssembly typeof TProduct GetTypes foreach Type type in types i
  • C 中的模仿函数重写

    具体来说 函数重写能够调用基本重写方法 这有两部分 一个是预编译的库代码 1 另一个是库的用户代码 2 我在这里实现了一个尽可能最小的经典 Person 和 Employee 示例 非常感谢了解 OOP 概念的铁杆 C 开发人员的回应 我正
  • 导出到 CSV 时 Gridview 出现空行

    这个问题是由进一步讨论引发的这个问题 https stackoverflow com questions 6674555 export gridview data into csv file 6674589 noredirect 1 com
  • 抽象类或接口。哪种方式是正确的?

    有两种方法可以选择抽象类或接口 微软解决方案和Oracle解决方案 微软 设计指南 请使用抽象 在 Visual Basic 中为 MustInherit 类而不是接口来将协定与实现分离 http msdn microsoft com en
  • 指示泛型返回动态类型的对象

    这个问题是我原来问题的后续问题here https stackoverflow com questions 2541184 using a type object to create a generic 假设我有以下泛型类 简化 class
  • 在“using”语句中使用各种类型 (C#)

    自从C usingstatements只是try finally dispose 的语法糖 为什么它接受多个对象仅当它们属于同一类型时 我不明白 因为它们需要的只是 IDisposable 如果它们都实现 IDisposable 应该没问题
  • QThread - 使用槽 quit() 退出线程

    我想在线程完成运行时通知对象 但是 我无法让线程正确退出 我有以下代码 处理器 cpp thread new QThread tw new ThreadWorker connect tw SIGNAL updateStatus QStrin
  • c# 如何生成锦标赛括号 HTML 表

    所以我已经被这个问题困扰了三个星期 但我一生都无法弄清楚 我想做的是使用表格获得这种输出 演示 http www esl world net masters season6 hanover sc2 playoffs rankings htt
  • 数据损坏 C++ 和 Python 之间的管道

    我正在编写一些代码 从 Python 获取二进制数据 将其通过管道传输到 C 对数据进行一些处理 在本例中计算互信息度量 然后将结果通过管道传输回 Python 在测试时 我发现如果我发送的数据是一组尺寸小于 1500 X 1500 的 2
  • 从包含大量文件的目录中检索文件

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

    假设这是一个ServiceContract ServiceContract public interface MyService OperationContract int Sum int x int y OperationContract
  • 如何将字符串转换为 Indian Money 格式?

    我正在尝试将字符串转换为印度货币格式 例如如果输入为 1234567 则输出应为 12 34 567 我编写了以下代码 但它没有给出预期的输出 CultureInfo hindi new CultureInfo hi IN string t
  • 将 bignum 类型结构转换为人类可读字符串的有效方法是什么?

    我有一点问题 为了增长我的 C 知识 我决定尝试实现一个基本的 bigint 库 bigint 结构的核心将是一个 32 位整数数组 选择它们是因为它们适合寄存器 这将允许我在数字之间进行操作 这些操作将在 64 位整数中溢出 这也将适合寄
  • 你能解释一下这个C++删除问题吗?

    我有以下代码 std string F WideString ws GetMyWideString std string ret StringUtils ConvertWideStringToUTF8 ws ret return ret W
  • 使用剪贴板 SetText 换行

    如何使用 SetText 方法添加换行符 I tried Clipboard SetText eee n xxxx 但当我将剪贴板数据粘贴到记事本中时 它没有给我预期的结果 预期结果 eee xxxx 我怎样才能做到这一点 Windows

随机推荐

  • 用 Numpy 向量化运算替换 For 循环

    在下面的代码中 我有一个简单的 for 循环 我希望将其替换为更快的矢量化 numpy 操作 import numpy as np b np array 9 8100 60 7 dtype np float64 a np array 584
  • 隐藏滚动时从底部开始的 UIView

    我有一个tableView我想隐藏UIView当用户向下滚动时位于其上方 目前 滚动隐藏UIView从上到下 我怎样才能隐藏UIView from 自下而上 如下例所示 这有点麻烦 但可能是最简单的方法 在故事板中 将UIView在顶部 我
  • iPhone 5 的 iOS 模拟器 - 1136 x 640 分辨率 [重复]

    这个问题在这里已经有答案了 可能的重复 如何测试 iPhone 5 的应用程序 https stackoverflow com questions 12434011 how to test apps for iphone 5 在 xcode
  • 如何使用 Access-Control-Allow-Origin:https://www.example.com?

    我想从 HTTP 网页进行 HTTPS 调用 我希望解决这个问题Access Control Allow Origin 我该如何使用它 在 HTTPS 页面 您从 HTTP 页面请求 上设置标头 访问控制允许来源 http www exam
  • 如何从内核空间读取/写入 linux /proc 文件?

    我正在编写一个由用户程序和内核模块组成的程序 内核模块需要收集数据 然后将其 发送 到用户程序 这必须通过 proc 文件来完成 现在 我创建了文件 一切都很好 并且花了很长时间在互联网上寻找答案 但仍然找不到 如何读 写 proc 文件f
  • 如何使用 jQuery 在 ASP.NET MVC 中重新加载带有部分视图的 div?

    我有一个 div 其部分位于页面的某处 我在按钮上有一个事件 我如何编写一个 Javascript 来获取 div 并重新加载它 并重新加载部分视图 我从另一个角度看这个问题 但我现在不能这样做 但我需要同样的事情发生 只由 jQuery
  • 如何从查询窗口向 SQL Server 插入 unicode 文本

    我正在使用以下代码 INSERT INTO tForeignLanguage Name VALUES 这个值像这样插入 如何从 sql Management Studio 查询窗口插入 unicode 文本 以下应该有效 N表示 MSSQL
  • 无效的 Apple Watch 图标文件名必须与模式“*@x.png”匹配

    我正在尝试向我的应用程序提交更新以包含 Apple Watch 功能 但是每当我验证构建时 我都会收到下面屏幕截图中详细说明的错误 查看底部错误 我的文件名似乎与模式匹配 所以我不明白问题是什么 如果我能为 1 个图标找到正确的模式 那么我
  • 找出哪些本地分支与远程不同步

    假设我有一个包含多个分支的 git 存储库 我怀疑有些分支没有被推到上游 或者已经过时 或者两者兼而有之 即分歧 有没有一种方法可以通过一个命令找出哪些分支与远程不同步 写一个脚本是可以的 但我想知道是否已经有这样的脚本 我已经做了一个脚本
  • 如何安全地向特定用户发送消息

    我正在使用 ASP NET MVC 5 和 SignalR 我想向特定用户发送消息 我遵循了中解释的方法本教程 https learn microsoft com en us aspnet signalr overview guide to
  • Xcode - 从不同视图更新 ViewController 标签文本

    我的项目中有两个视图控制器ViewController SettingsView 在这里我尝试更新ViewController s标签 当我点击SettingsView s返回键 NSLog工作正常 但标签没有更新 请帮我 设置视图 m I
  • PHP:会话不工作

    当用户在客户端登录时 我将重定向到服务器 一旦验证了他的 user id 和密码 我将在 user id 上设置会话 我将重定向回客户端 然后 我要求填写个人资料信息 如果他想通过 facebook 填写信息 则会出现弹出窗口 请求 fac
  • 匹配 mod_rewrite 规则正则表达式中的问号

    我正在寻找使用多个子字符串重写网址 一个子字符串作为子目录被请求 而任何其他子字符串作为普通查询字符串参数被请求 例如 我想重写 url http www mysite com mark friends page 2 to http www
  • 字符串计算器[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 各位程序员大家好 我正在创建一个计算器C 我有一个字符串变量math其中包含100 5 2 我怎样才能显示它的输出498在我的控制台中
  • 使用 bcp 获取可构建的 Boost 提取

    我正在使用 bcp 从 Boost 中提取 Boost Archive 不幸的是我无法构建这个摘录 Boost Archive 不是一个仅包含头文件的库 贾姆抱怨 Unable to load Boost Build could not f
  • 如何在 Eclipse IDE 中默认将 Scala 项目作为 Scala 应用程序运行?

    我是 Eclipse IDE 的新手 问题是如何默认将 Scala 项目作为 Scala 应用程序运行 当我通过按 R 键运行项目时 它总是询问如何将其作为 Scala 或 Java 应用程序运行 有没有办法跳过这个并始终默认以 Scala
  • 使用 nextFloat() 线程“main”中出现 java.util.InputMismatchException 异常

    所以我正在编写一个小程序来计算学生最好成绩的平均值 当我运行它时 我在线程 main java util InputMismatchException中收到此错误异常 我看到一篇文章说要使用 nextLine 然后使用 parseInt 在
  • 查找列中字段的平均值[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个这样的记录 1 11 11 T A 0 0 A 1 B 2 C 3 D 4 有 8 列 每列由制表符空格分隔 我需要的输出是这
  • Ruby on Rails:是否有一种方法可以从数据库检索数据数组,而无需 Rails 实例化任何内容?

    我有一个模型 试图从中检索数据数组 并且不需要将数据实例化为 Ruby 对象 事实上 这只是在我的代码中引入了一个额外的步骤来逐步遍历对象并生成一个仅包含我需要的数据的新数组 Example class Book has attribute
  • 如何手动销毁成员变量?

    我有一个关于析构函数的基本问题 假设我有以下课程 class A public int z int ptr A z 5 ptr new int 3 A delete ptr 现在析构函数应该销毁对象的实例 上面的析构函数正是这样做的 释放由