#include <iostream>
#include <memory>
using namespace std;
struct S {
S(int X = 0, int Y = 0):x(X), y(Y){}
int x;
int y;
};
int main() {
std::unique_ptr<S> ptr(new S(1, 4));
S p = *ptr; // Copy the pointer's value
std::cout << "x = " << p.x << "; y = " << p.y << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWVtb3J5Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoJCnN0cnVjdCBTIHsKCVMoaW50IFggPSAwLCBpbnQgWSA9IDApOngoWCksIHkoWSl7fQoJaW50IHg7CglpbnQgeTsKfTsKCQppbnQgbWFpbigpIHsKCglzdGQ6OnVuaXF1ZV9wdHI8Uz4gcHRyKG5ldyBTKDEsIDQpKTsKCVMgcCA9ICpwdHI7IC8vIENvcHkgdGhlIHBvaW50ZXIncyB2YWx1ZQoJc3RkOjpjb3V0IDw8ICJ4ID0gIiA8PCBwLnggPDwgIjsgeSA9ICIgPDwgcC55IDw8IGVuZGw7CglyZXR1cm4gMDsKfQ==