C++ 释放自定义类 vector 的正确方法

标签 c++ memory vector destructor resource-management

我有我的自定义类,例如:

class MyClass {

   public:
        int i;
        std:string name;

        void DoSomeStuff();

}

和另一个包含我的自定义类列表的类:

class MyClassList {

    public:
        std::vector<MyClasss> myClassList;
}

列表析构函数应该如何释放内存中所有使用的 vector 空间:

MyClassList::~MyClassList 
{
    myClassList.clear();
    delete &myClassList;
}

这段代码是正确的、多余的还是错误的?

感谢您的帮助...

最佳答案

您无需执行任何操作,只需让它超出范围即可。 RAII将确保当您的 MyClassList 实例超出范围时清理 vector 内存。

关于C++ 释放自定义类 vector 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29927429/

相关文章:

c++ - 我怎样才能像表格一样打印出来?

c++ - Unresolved external 问题,其他线程让我感到困惑

c++ - 与通过引用传递指针相比,在指针上使用reference_wrapper有好处吗?

php - 是否可以在 PHP 中使用短整数(16 位)?

c++ - 用 for_each 遍历 vector<vector<?>>

c++ - 为什么不是 cmath 的 pow 和 sqrt 模板?

python - 训练循环迭代期间 Tensorflow 锯齿形内存使用情况

c++ - 在不知道大小的情况下在 header 中声明结构数组

c++ - 空 vector 的构造函数列表初始化

java - 最小化 Java 中的垃圾收集尝试(示例)