#include <iostream>
#include <memory>
using namespace std;
struct MyStruct {
private: string _name;
public: MyStruct(string &aName): _name(aName) {}
public: string name() {
return this->_name;
}
};
int main() {
string s = {"test"};
auto_ptr<MyStruct> a(new MyStruct(s));
auto_ptr<MyStruct> p = a;
cout << "p: " << p->name() << endl;
cout << "a: ";
cout << a->name() << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWVtb3J5PgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cnVjdCBNeVN0cnVjdCB7Cglwcml2YXRlOiBzdHJpbmcgX25hbWU7CgkKCXB1YmxpYzogTXlTdHJ1Y3Qoc3RyaW5nICZhTmFtZSk6IF9uYW1lKGFOYW1lKSB7fQoJCglwdWJsaWM6IHN0cmluZyBuYW1lKCkgewoJCXJldHVybiB0aGlzLT5fbmFtZTsKCX0KfTsKCmludCBtYWluKCkgewoJc3RyaW5nIHMgPSB7InRlc3QifTsKCWF1dG9fcHRyPE15U3RydWN0PiBhKG5ldyBNeVN0cnVjdChzKSk7CglhdXRvX3B0cjxNeVN0cnVjdD4gcCA9IGE7CgkKCWNvdXQgPDwgInA6ICIgPDwgcC0+bmFtZSgpIDw8IGVuZGw7Cgljb3V0IDw8ICJhOiAiOwoJY291dCA8PCBhLT5uYW1lKCkgPDwgZW5kbDsKCQoJcmV0dXJuIDA7Cn0=