我正在使用一个指向对象的向量.这些对象派生自基类,并且正在动态分配和存储.
例如,我有类似的东西:
vector<Enemy*> Enemies;
Run Code Online (Sandbox Code Playgroud)
我将从Enemy类派生,然后为派生类动态分配内存,如下所示:
enemies.push_back(new Monster());
Run Code Online (Sandbox Code Playgroud)
为了避免内存泄漏和其他问题,我需要注意哪些事项?
std::list<Node *> lst;
//....
Node * node = /* get from somewhere pointer on my node */;
lst.remove(node);
Run Code Online (Sandbox Code Playgroud)
std :: list :: remove方法是否调用每个被删除元素的析构函数(和空闲内存)?如果是,我怎么能避免呢?