#include <iostream>
//
// 延命された一時オブジェクト
//
struct something { ~something() { std::cout << "destructor" << std::endl; } };
int main()
{
const something& s1 = something();
something&& s2 = something();
std::cout << "=== main ===" << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKLy8KLy8g5bu25ZG944GV44KM44Gf5LiA5pmC44Kq44OW44K444Kn44Kv44OICi8vCgpzdHJ1Y3Qgc29tZXRoaW5nIHsgfnNvbWV0aGluZygpIHsgc3RkOjpjb3V0IDw8ICJkZXN0cnVjdG9yIiA8PCBzdGQ6OmVuZGw7IH0gfTsKCmludCBtYWluKCkKewogIGNvbnN0IHNvbWV0aGluZyYgczEgPSBzb21ldGhpbmcoKTsKICBzb21ldGhpbmcmJiBzMiA9IHNvbWV0aGluZygpOwogIHN0ZDo6Y291dCA8PCAiPT09IG1haW4gPT09IiA8PCBzdGQ6OmVuZGw7Cn0KCg==