#include <iostream>
#include <vector>
using namespace std;
class Obj
{
public:
Obj(int moose);
~Obj();
private:
int* val;
};
Obj::Obj(int num)
{
val = new int;
*val = num;
}
Obj::~Obj()
{
cout << "Cleanup" << endl;
delete val;
}
int main() {
std::vector<Obj*> objs;
Obj* o = new Obj(10);
objs.push_back(o);
auto it = objs.begin() + 0;
delete *it;
objs.erase(it);
cout << "Finished" << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgT2JqCnsKcHVibGljOgogICAgT2JqKGludCBtb29zZSk7CiAgICB+T2JqKCk7Cgpwcml2YXRlOgogICAgaW50KiB2YWw7Cn07CgoKT2JqOjpPYmooaW50IG51bSkKewogICAgdmFsID0gbmV3IGludDsKCiAgICAqdmFsID0gbnVtOwp9CgoKT2JqOjp+T2JqKCkKewogICAgY291dCA8PCAiQ2xlYW51cCIgPDwgZW5kbDsKICAgIGRlbGV0ZSB2YWw7Cn0KCmludCBtYWluKCkgewogICAgc3RkOjp2ZWN0b3I8T2JqKj4gb2JqczsKCiAgICBPYmoqIG8gPSBuZXcgT2JqKDEwKTsKCiAgICBvYmpzLnB1c2hfYmFjayhvKTsKCiAgICBhdXRvIGl0ID0gb2Jqcy5iZWdpbigpICsgMDsKICAgIGRlbGV0ZSAqaXQ7CiAgICBvYmpzLmVyYXNlKGl0KTsgICAgCiAgICAKICAgIGNvdXQgPDwgIkZpbmlzaGVkIiA8PCBlbmRsOwoJcmV0dXJuIDA7Cn0=