#include <iostream>
using namespace std;
struct Data {
int d;
};
class Foo {
public:
explicit Foo(const Data& data) : data_(data) {}
void PrintData() {
std::cout << data_.d << std::endl;
}
private:
const Data& data_;
};
Foo CreateFoo(int i) {
Data d;
d.d = i;
return Foo(d);
}
int main() {
Foo foo = CreateFoo(5);
foo.PrintData();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IERhdGEgewoJaW50IGQ7Cn07CgpjbGFzcyBGb28gewoJcHVibGljOgoJZXhwbGljaXQgRm9vKGNvbnN0IERhdGEmIGRhdGEpIDogZGF0YV8oZGF0YSkge30KCQoJdm9pZCBQcmludERhdGEoKSB7CgkJc3RkOjpjb3V0IDw8IGRhdGFfLmQgPDwgc3RkOjplbmRsOwoJfQoJCglwcml2YXRlOgoJY29uc3QgRGF0YSYgZGF0YV87CgkKfTsKCkZvbyBDcmVhdGVGb28oaW50IGkpIHsKCURhdGEgZDsKCWQuZCA9IGk7CglyZXR1cm4gRm9vKGQpOwp9CgppbnQgbWFpbigpIHsKCUZvbyBmb28gPSBDcmVhdGVGb28oNSk7Cglmb28uUHJpbnREYXRhKCk7CglyZXR1cm4gMDsKfQoK