destructor 相关问题

面向对象编程中的一种特殊方法,在对象被销毁时调用

删除模板对象的数据时避免内存泄漏。 (C++)

假设以下结构: 模板 结构体A{ T* 指针; 无效清除数据(){ //删除指针所指向的数据 数据->~T(); //调用析构函数? 指针=空...

回答 1 投票 0

何时使用 =default 使析构函数默认?

虽然对构造函数使用 =default 对我来说很清楚(即强制编译器在其他构造函数存在时创建默认构造函数),但我仍然无法理解它们之间的区别...

回答 1 投票 0

为动态分配的对象调用手动析构函数后,对象仍然存在吗?

当同时创建两个对象(一个静态和一个动态)时,析构函数会同时删除它们(当对象超出范围时)? 看看下面的代码块及其

回答 1 投票 0

为什么为“错误”的对象调用析构函数?

我有这个代码: 班级测试 { 民众: 测试(整数) { 这个->num = num; std::cout << "Test constructed. Num = " << num << std::endl; } ...

回答 1 投票 0

C++ 中按值传递造成的损坏

Herbert Schildt 的 C++ IT-Tutorial 一书第 9 章第 368 页指出了以下问题: “即使您按值将对象传递给函数,在这种情况下传递的对象 sh...

回答 2 投票 0

C++ 无法理解析构函数调用

这个程序是用自定义类A设计的,当调用复制构造函数时输出1,当调用析构函数时输出0。我在程序里复制了两次,删除了两次,还是不行……

回答 1 投票 0

为什么 __del__ 不被调用两次?

我想使用对象的 __del__ 方法根据某些条件自动将对象数据写入外部数据库或本地缓存(全局字典)。上下文管理器...

回答 1 投票 0

jthread 是类成员时的销毁顺序

我有一个处理某些线程同步的类。 类 ThreadHandler { std::vector 线程; std::互斥体; std::condition_variable 简历; int some_int...

回答 1 投票 0

控制类成员布局和析构函数顺序

我的班级有两名成员。 C类{ 类型A; B型b; }; 假设没有继承。对于这门课,我担心三件事。

回答 1 投票 0

在C++链表中删除会导致无限循环[已关闭]

编辑 这是列表的正确实现。谢谢你们,特别是Agent_L,他私下里帮助了我。 正确的链表实现 #包括 #包括 #包括...

回答 3 投票 0

PHP 中是否存在不调用析构函数的情况?

这是我第一次在 stackoverflow 上发帖,但这些帖子对我帮助很大! 无论如何,关于我的问题...是否有 PHP 中的析构函数未被调用的情况?原因...

回答 3 投票 0

链表中析构函数是必须的吗?

我做了一个单链表程序。 我想知道是否需要析构函数或默认析构函数可以正常工作? 班级 { 节点*头; 节点*尾部; 民众: sll() { ...

回答 3 投票 0

如何在Delphi中模拟TFrame上的OnDestroy事件?

如何在 Delphi 中模拟 TFrame 的 OnDestroy 事件? 我天真地向我的框架添加了构造函数和析构函数,认为这就是 TForm 的作用: TframeEditCustomer = 类(TFrame) ... 酒吧...

回答 4 投票 0

`deinit` 到底什么时候被调用? (斯威夫特)

deinit 到底什么时候被调用? 是否像 C++ 一样,当最后一个引用超出范围时(通过返回、抛出或退出)保证被调用? 或者 Swift 使用垃圾收集器?

回答 2 投票 0

可以在不调用析构函数的情况下 goto 跳转函数吗?

goto 真的可以跳过一些代码而不调用析构函数和其他东西吗? 例如 无效 f() { 整数x=0; 转到哈哈; } int main() { F(); 哈哈: 返回0; } x不会被泄露吗?

回答 1 投票 0

这些析构函数调用中哪些被执行了多次?

我现在正在学习C++,之前是Java。我确实知道我应该使用向量而不是数组,但是我也想了解基础知识。 我已经编写了一个我想要访问的结构...

回答 1 投票 0

“删除这个”有什么用?

今天,我看到了一些遗留代码。在析构函数中有一个类似“delete this”的语句。我认为,这个调用将是递归的。为什么它有效? 我在 Y! 上进行了一些快速搜索,我发现...

回答 4 投票 0

为什么浅复制类型的析构函数中使用delete会出现双重释放?

我不明白为什么下面的代码会出错。 对象 A 的实例将被连续推入向量 (vectorA.push_back(A a)) 中。所以有时候,vectorA需要重新分配;

回答 2 投票 0

为什么当链表节点在析构函数中删除其邻居时会发生释放后使用?

我在删除和析构函数方面遇到了问题(我确信我在这里犯了一个愚蠢的错误,但到目前为止还无法弄清楚)。 当我进入析构函数并尝试...

回答 3 投票 0

删除表达式是否调用析构函数?

我正在动态地将内存分配给一个对象,然后如果我调用删除会发生什么? 调用析构函数或删除函数有不同的处理内存的方式吗? 考虑以下例子...

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.