#include <iostream>
#include <memory>
#include <cstring>
struct A
{
std::unique_ptr<int> up_myInt;
A(int val)
:
up_myInt(std::make_unique<int>(val))
{}
};
int main()
{
A a(1);
{
A b(2);
memcpy(&a, &b, sizeof(A));
std::cout << *a.up_myInt << std::endl;
//b gets deleted, and the memory b.up_myInt points to is gone
}
std::cout << *a.up_myInt << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWVtb3J5PgojaW5jbHVkZSA8Y3N0cmluZz4KCnN0cnVjdCBBCnsKICBzdGQ6OnVuaXF1ZV9wdHI8aW50PiB1cF9teUludDsKICBBKGludCB2YWwpCiAgOgogICAgdXBfbXlJbnQoc3RkOjptYWtlX3VuaXF1ZTxpbnQ+KHZhbCkpCiAge30KfTsKCmludCBtYWluKCkKewoJQSBhKDEpOwoJewoJICBBIGIoMik7CgkgIG1lbWNweSgmYSwgJmIsIHNpemVvZihBKSk7CgkgIHN0ZDo6Y291dCA8PCAqYS51cF9teUludCA8PCBzdGQ6OmVuZGw7CgkgIC8vYiBnZXRzIGRlbGV0ZWQsIGFuZCB0aGUgbWVtb3J5IGIudXBfbXlJbnQgcG9pbnRzIHRvIGlzIGdvbmUKCX0KCXN0ZDo6Y291dCA8PCAqYS51cF9teUludCA8PCBzdGQ6OmVuZGw7CglyZXR1cm4gMDsKfQ==