如何手动销毁成员变量?

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(使用前将#替换为@)

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

  • 检测到 NuGet 包的版本冲突

    我正在开发 ASP Net core 2 1 Web 应用程序项目 我的解决方案中有 1 个项目和 3 个其他库 它是高级架构 数据访问层 DAL 业务层 BL 公共层 CL 所以我需要添加引用来连接一些库和项目 我已经添加了CL参考我的项
  • C++ 中的软(不是:弱)引用 - 这可能吗?有实施吗?

    在 C 中我正在使用boost shared ptr and boost weak ptr自动删除不再需要的对象 我知道这些与引用计数一起工作 在 Java 中 内存由垃圾收集器管理 它将内置对象引用视为strong WeakReferen
  • 赋值运算符和复制构造函数有什么区别?

    我不明白C 中赋值构造函数和复制构造函数之间的区别 是这样的 class A public A cout lt lt A A lt lt endl The copy constructor A a b The assignment cons
  • Qt - 无法让 lambda 工作[重复]

    这个问题在这里已经有答案了 我有以下功能 我想在其中修剪我的std set
  • 在 C++ 中分割大文件

    我正在尝试编写一个程序 该程序接受一个大文件 任何类型 并将其分成许多较小的 块 我想我已经有了基本的想法 但由于某种原因我无法创建超过 12 kb 的块大小 我知道谷歌等上有一些解决方案 但我更感兴趣的是了解这个限制的根源是什么 然后实际
  • 捕获 foreach 条件中抛出的异常

    我有一个foreach在 foreach 本身的条件下循环期间中断的循环 有没有办法try catch抛出异常然后继续循环的项 这将运行几次 直到异常发生然后结束 try foreach b in bees exception is in
  • 在 C++11 中省略返回类型

    我最近发现自己在 C 11 模式下的 gcc 4 5 中使用了以下宏 define RETURN x gt decltype x return x 并编写这样的函数 template
  • Linux TUN/TAP:无法从 TAP 设备读回数据

    问题是关于如何正确配置想要使用 Tun Tap 模块的 Linux 主机 My Goal 利用现有的路由软件 以下为APP1和APP2 但拦截并修改其发送和接收的所有消息 由Mediator完成 我的场景 Ubuntu 10 04 Mach
  • 在 Xcode4 中使用 Boost

    有人设置 C Xcode4 项目来使用 Boost 吗 对于一个简单的 C 控制台应用程序 我需要在 Xcode 中设置哪些设置 Thanks 用这个来管理它 和这个
  • ZLIB 解压缩

    我编写了一个小型应用程序 该应用程序应该解压缩以 gzip deflate 格式编码的数据 为了实现这一点 我使用 ZLIB 库 使用解压缩功能 问题是这个功能不起作用 换句话说 数据不是未压缩的 我在这里发布代码 int decompre
  • 为什么密码错误会导致“填充无效且无法删除”?

    我需要一些简单的字符串加密 所以我编写了以下代码 有很多 灵感 来自here http www codeproject com KB security DotNetCrypto aspx create and initialize a cr
  • 在 C# 中将位从 ulong 复制到 long

    所以看来 NET 性能计数器类型 http msdn microsoft com en us library system diagnostics performancecounter aspx有一个恼人的问题 它暴露了long对于计数器
  • 两组点之间的最佳匹配

    I ve got two lists of points let s call them L1 P1 x1 y1 Pn xn yn and L2 P 1 x 1 y 1 P n x n y n 我的任务是找到它们点之间的最佳匹配 以最小化它
  • 通过不同 DLL 或 EXE 中的指针或引用访问 STL 对象时发生访问冲突

    我在使用旧版 VC6 时遇到以下问题 我只是无法切换到现代编译器 因为我正在处理遗留代码库 http support microsoft com kb 172396 http support microsoft com kb 172396
  • 用于从字符串安全转换的辅助函数

    回到 VB6 我编写了一些函数 让我在编码时无需关心字符串的 null 和 数字的 null 和 0 等之间的区别 编码时 没有什么比添加特殊情况更能降低我的工作效率了用于处理可能导致一些不相关错误的数据的代码 9999 10000 如果我
  • 通过等待任务或访问其 Exception 属性都没有观察到任务的异常

    这些是我的任务 我应该如何修改它们以防止出现此错误 我检查了其他类似的线程 但我正在使用等待并继续 那么这个错误是怎么发生的呢 通过等待任务或访问其 Exception 属性都没有观察到任务的异常 结果 未观察到的异常被终结器线程重新抛出
  • 无法使用 Ninject 将依赖项注入到从 Angular 服务调用的 ASP.NET Web API 控制器中

    我将 Ninject 与 ASP NET MVC 4 一起使用 我正在使用存储库 并希望进行构造函数注入以将存储库传递给其中一个控制器 这是实现 StatTracker 接口的上下文对象 EntityFramework public cla
  • Fluent NHibernate 日期时间 UTC

    我想创建一个流畅的 nhibernate 映射来通过以下方式映射 DateTime 字段 保存时 保存 UTC 值 读取时 调整为本地时区值 实现此映射的最佳方法是什么 就我个人而言 我会将日期存储在 UTC 格式的对象中 然后在读 写时在
  • 如何查明CONFIG_FANOTIFY_ACCESS_PERMISSIONS是否启用?

    我想利用fanotify 7 http man7 org linux man pages man7 fanotify 7 html我遇到的问题是在某些内核上CONFIG FANOTIFY ACCESS PERMISSIONS不起作用 虽然C
  • 如何创建向后兼容 Windows 7 的缩放和尺寸更改每显示器 DPI 感知应用程序?

    我是 WPF 和 DPI 感知 API 的新手 正在编写一个在 Windows 7 8 1 和 10 中运行的应用程序 我使用具有不同每个显示器 DPI 设置的多个显示器 并且有兴趣将我的应用程序制作为跨桌面配置尽可能兼容 我已经知道可以将

随机推荐

  • 用 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 现在析构函数应该销毁对象的实例 上面的析构函数正是这样做的 释放由