小编Dim*_*eks的帖子

如何在析构函数 *after* 成员被销毁后执行一些代码

我有一个“管理器”类,必须在成员被销毁进行某些清理:

class Manager
{
    Member a, b;

    ~Manager()
    {
        // this code will be executed BEFORE the a and b destructors
        important_cleanup();
    }
};
Run Code Online (Sandbox Code Playgroud)

这里的问题是important_cleanup()我的变量无效a和无效b,因此它们的析构函数失败。

有解决这个问题的好方法吗?

PS我知道我可以定义某种 clenup 成员,并使其成为 的第一个创建的成员Manager,但这看起来很丑陋并且使事情依赖于顺序......

c++ c++11 c++14

4
推荐指数
1
解决办法
442
查看次数

标签 统计

c++ ×1

c++11 ×1

c++14 ×1