class MyClassA
{
public:MyClassA():b(new char[12]) {memset(b, 0, 12);strcpy(b,"hello");cout << "构造" << endl;}~MyClassA() {if (b) {cout << "析构" << endl;delete[]b;}}void showInfo() {cout << b << endl;}private:char* b=nullptr;
};list<MyClassA*>lll;
MyClassA* a1 = new MyClassA();
lll.push_back(a1);
list<MyClassA*>::iterator it;
for (it = lll.begin(); it != lll.end();) {(*it)->showInfo();MyClassA* t = (MyClassA*)(*it);it = lll.erase(it);delete t;
}//错误代码:
lll.clear();//内存泄漏