#include <iostream>
#include <vector>
struct My {
int x;
My(void): x(42) { std::cout << "Constructed: " << this << std::endl; }
My(My const &m): x(m.x) { std::cout << "Copy constructed: " << this << std::endl; }
~My(void) { x = 0; std::cout << "Destructed: " << this << std::endl; }
};
int main(void) {
for(My const &i: {My(), My(), My()}) {
std::cout << i.x << std::endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgogCnN0cnVjdCBNeSB7CiAgICBpbnQgeDsKICAgIE15KHZvaWQpOiB4KDQyKSB7IHN0ZDo6Y291dCA8PCAiQ29uc3RydWN0ZWQ6ICIgPDwgdGhpcyA8PCBzdGQ6OmVuZGw7IH0KICAgIE15KE15IGNvbnN0ICZtKTogeChtLngpIHsgc3RkOjpjb3V0IDw8ICJDb3B5IGNvbnN0cnVjdGVkOiAiIDw8IHRoaXMgPDwgc3RkOjplbmRsOyB9CiAgICB+TXkodm9pZCkgeyB4ID0gMDsgc3RkOjpjb3V0IDw8ICJEZXN0cnVjdGVkOiAiIDw8IHRoaXMgPDwgc3RkOjplbmRsOyB9Cn07CiAKaW50IG1haW4odm9pZCkgewogIGZvcihNeSBjb25zdCAmaToge015KCksIE15KCksIE15KCl9KSB7CiAgICAgIHN0ZDo6Y291dCA8PCBpLnggPDwgc3RkOjplbmRsOwogIH0KIAogIHJldHVybiAwOwp9