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方法是否调用每个被删除元素的析构函数(和空闲内存)?如果是,我怎么能避免呢?
假设我有这个简单的代码:
std::list<Class*> mList
mList.insert(mList.begin(), new Class())
Run Code Online (Sandbox Code Playgroud)
我是否需要担心手动解除分配新的Class元素,或者如果我使用erase(),它是否由List负责?