destructor 相关问题

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

C++ 调用析构函数并没有真正从内存中删除对象[已关闭]

我对 C++ 很陌生,我正在开发应用程序,我通过使用像 MyObject* obj = new Object() 这样的 new 关键字在内存中分配很多对象。与他们进行一些操作后(一些...

回答 2 投票 0

根据微软的文档,调用 exit() 时哪些变量会被销毁?

我试图找出terminate()、exit()和abort()之间的区别,以及微软的 我的 Google 搜索中出现了 C++ 程序终止文档,该文档比较了退出、中止和...

回答 1 投票 0

根据此 Microsoft 参考,调用 exit() 时哪些变量会被销毁?

我试图找出终止、退出和中止之间的区别以及 我的 Google 搜索中出现了 C++ 终止文档,该文档比较了 exit、abort 和 atexit。 我读了第一本...

回答 1 投票 0

我需要显式调用基础虚拟析构函数吗?

当重写 C++ 中的类(使用虚拟析构函数)时,我在继承类上再次将析构函数实现为虚拟,但是我需要调用基析构函数吗? 如果是这样,我想它是

回答 7 投票 0

析构函数执行顺序?

我知道c#中的析构函数没有执行顺序。 我在几个类中使用以下结构,它是为了破坏实例和静态信息: 公开课我的班级 {

回答 3 投票 0

为什么析构函数即使在没有被调用时也需要可访问?

拥有类X,以下对象初始化: 新(ptr)X(X()); 即使从 C++17 开始,也需要一个可访问的析构函数。为什么会这样,当对象被默认构造函数初始化的时候...

回答 1 投票 0

如果只声明虚析构函数为默认,复制构造函数是隐式生成的吗?

在下面的例子中 隐式地,不会创建移动构造函数和移动赋值运算符。我知道。 那么,复制构造函数和复制赋值运算符是生成的吗? 是

回答 1 投票 0

什么是“已知错误指针值”?

在这个问题的回答中,注意到: 如果您要“清除”dtor 中的指针,则不同的习惯用法会更好 - 将指针设置为已知的错误指针值。 还有...

回答 1 投票 0

析构函数抛出异常时多次调用删除

如果使用 Visual Studio 编译,上面的代码可以工作。如果析构函数抛出异常,则不会调用删除操作符。如果析构函数没有抛出异常,则删除运算符将被调用...

回答 1 投票 0

在 Rust 中,我可以将泛型限制为只能轻松删除的类型吗?

我目前正在编写一个 Rust 库,它定义了一个可以分配用户指定类型的分配器。定义看起来像这样: struct Allocator { …字段… }

回答 1 投票 0

对象进入析构函数后会处于什么状态?

这是一些逻辑: 答::~A() { b.foo(这个) } 无效 B::foo(A*) { ..尝试获取锁定.. ..从某种状态中删除 A 对象... } 无效 B::bar() { ...尝试获取锁定... ...做一些事情...

回答 1 投票 0

std::list::remove 方法是否调用每个被删除元素的析构函数?

我有代码: std::list lst; //.... Node * node = /* 从我的节点上的某处获取指针 */; lst.remove(节点); std::list::remove 方法是否调用析构函数(并释放 m...

回答 6 投票 0

为什么在for循环中会多次调用析构函数?它破坏了什么物体?

我刚刚开始我的 C++ 之旅(从三月份开始学习),我真的不明白我从类似于此的代码中得到的行为: #包括 #包括 使用

回答 1 投票 0

为什么 Windows 上的向量删除会调用标量删除析构函数?

我有一个在 Windows 上泄露的代码。它在许多 UNIX 平台上运行良好,并且泄漏仅发生在 Windows 上。 该二进制文件由 exe、1 个 dll 和 2 个静态库组成。 exe 链接到 dll...

回答 5 投票 0

关于正确关闭 Boost Beast 服务器的说明

我正在使用 Boost Beast 高级服务器示例(可从 Boost.org 获取),并将其用作我自己的服务器的基础。我的理解是,在这个例子中,session 和 li...

回答 1 投票 0

Object Pascal 链表析构函数留下一个块未释放

在Object Pascal中实现这个单链表类的析构函数,为什么最后总是有一个内存块未释放? 我尝试过迭代而不是递归破坏......

回答 1 投票 0

可以在函数中通过值传递具有私有析构函数的对象吗?

如果一个类具有不可访问的(私有)析构函数,是否可以将其按值传递给函数,如下例所示? A类{ 〜A(){} }; // 在 GCC 和 Clang 中正常,在 MSVC 中错误 无效 f(A) {} ...

回答 1 投票 0

PyBind11 析构函数未调用?

我有一个用 PyBind11 包装的 C++ 类。问题是:当 Python 脚本结束时,C++ 析构函数不会被自动调用。这会导致退出不整齐,因为网络资源...

回答 3 投票 0

C++中析构函数的用法是什么?

我知道C++中构造函数的用法,但我无法理解对象何时死亡以及为什么有析构函数以及如何调用它。 班级比例{ 民众: 比率(); 〜比率(); }

回答 1 投票 0

避免在复制构造函数和运算符=

在 C++ 中,当类包含动态分配的数据时,显式定义复制构造函数、operator= 和析构函数通常是合理的。但这些特殊方法的活动是重叠的......

回答 3 投票 0

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