#include <iostream>
struct foo {
foo() { std::cout << "constructed\n"; }
~foo() { std::cout << "destructed\n"; }
void func() { std::cout << "do something\n"; }
};
foo func() {
return foo();
}
int main() {
foo a = func();
a.func();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IGZvbyB7Cglmb28oKSB7IHN0ZDo6Y291dCA8PCAiY29uc3RydWN0ZWRcbiI7IH0KCX5mb28oKSB7IHN0ZDo6Y291dCA8PCAiZGVzdHJ1Y3RlZFxuIjsgfQoJdm9pZCBmdW5jKCkgeyBzdGQ6OmNvdXQgPDwgImRvIHNvbWV0aGluZ1xuIjsgfQp9OwoKZm9vIGZ1bmMoKSB7CglyZXR1cm4gZm9vKCk7Cn0KCmludCBtYWluKCkgewoJZm9vIGEgPSBmdW5jKCk7CglhLmZ1bmMoKTsKfQo=