#include <iostream>
#include <list>
using namespace std;
class Foo
{
public:
Foo(){}
~Foo()
{
cout << "Destructor\n";
}
};
int main()
{
Foo *a = new Foo();
Foo *b = new Foo();
list<Foo*> myFoo;
myFoo.push_back(a);
myFoo.push_back(b);
list<Foo*>::iterator it;
for (it = myFoo.begin(); it != myFoo.end(); it++)
delete (*it);
myFoo.clear();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bGlzdD4KIAp1c2luZyBuYW1lc3BhY2Ugc3RkOwogCmNsYXNzIEZvbwp7CnB1YmxpYzoKICAgIEZvbygpe30KICAgIH5Gb28oKQogICAgewogICAgICAgIGNvdXQgPDwgIkRlc3RydWN0b3JcbiI7CiAgICAgICAgCiAgICB9Cn07CiAKaW50IG1haW4oKQp7CiAgICBGb28gKmEgPSBuZXcgRm9vKCk7CiAgICBGb28gKmIgPSBuZXcgRm9vKCk7CiAgICAKICAgIGxpc3Q8Rm9vKj4gbXlGb287CiAgICBteUZvby5wdXNoX2JhY2soYSk7CiAgICBteUZvby5wdXNoX2JhY2soYik7CiAgICAKICAgIGxpc3Q8Rm9vKj46Oml0ZXJhdG9yIGl0OwogICAgCiAgICBmb3IgKGl0ID0gbXlGb28uYmVnaW4oKTsgaXQgIT0gbXlGb28uZW5kKCk7IGl0KyspCiAgICAgIGRlbGV0ZSAoKml0KTsgIAogICAgICAKICAgIG15Rm9vLmNsZWFyKCk7CiAgICAgCn0=