// unique_ptr constructor example
#include <iostream>
#include <memory>
class MyClass {
public:
MyClass(char* name)
: name_(name) {
std::cout << ">>>" << name_ << std::endl;
}
~MyClass() {
std::cout << "<<<" << name_ << std::endl;
}
private:
const char* name_;
};
int main() {
std::unique_ptr<MyClass> myClass(new MyClass("a"));
{
std::unique_ptr<MyClass> myClass(new MyClass("b"));
}
return 0;
}
Ly8gdW5pcXVlX3B0ciBjb25zdHJ1Y3RvciBleGFtcGxlCiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPG1lbW9yeT4KCmNsYXNzIE15Q2xhc3MgewogIHB1YmxpYzoKICAgIE15Q2xhc3MoY2hhciogbmFtZSkKICAgICAgICA6IG5hbWVfKG5hbWUpIHsKICAgICAgc3RkOjpjb3V0IDw8ICI+Pj4iIDw8IG5hbWVfIDw8IHN0ZDo6ZW5kbDsKICAgIH0KICAgIH5NeUNsYXNzKCkgewogICAgICBzdGQ6OmNvdXQgPDwgIjw8PCIgPDwgbmFtZV8gPDwgc3RkOjplbmRsOwogICAgfQogIHByaXZhdGU6CiAgICBjb25zdCBjaGFyKiBuYW1lXzsKfTsKCmludCBtYWluKCkgewogIHN0ZDo6dW5pcXVlX3B0cjxNeUNsYXNzPiBteUNsYXNzKG5ldyBNeUNsYXNzKCJhIikpOwogIHsKICAgIHN0ZDo6dW5pcXVlX3B0cjxNeUNsYXNzPiBteUNsYXNzKG5ldyBNeUNsYXNzKCJiIikpOwogIH0KICByZXR1cm4gMDsKfQ==