我在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
};