如何在Qt上解决这个简单的内存泄漏问题?

时间:2019-12-28 12:37:14

标签: c++ qt

我在Qt Creator中的应用程序中存在内存泄漏问题。

我有一个(A)类,该类在其属性中有一个指向B型对象的指针。

这些B类指针中的每一个都被初始化为称为C的第三类,该类将指针传递给A类,并将其添加到其向量中。

A类具有deleteBfromVector ()方法。 该方法在C.cpp中被调用,并且在其参数中包含指向B的指针。

C是Qt设计器表单类,而不是c ++类。

我的问题是:如何删除(用'delete')要从A类向量中删除的指针,从而避免内存泄漏?

我必须在C类课程中这样做吗?

很显然,如此描述的类已经过重新调整和简化,专门向您询问此问题,而只关注所涉及的问题。

我正在编写以下代码:

class A{
 public:
    void add_B_to_vector(B* b_to_add){
    B_pointers_vector.push_back(b_to_add);
   }
    void remove_B_to_vector(B* b_to_remove){
    B_pointers_vector.erase(b_to_remove);
    // Here I would like to make b_to_remove be deleted from memory,and not just removed from vector            
 }
 private:
//...
vector <B*> B_pointers_vector;

};

class B{
    // attributes and methods of B
};

0 个答案:

没有答案