#include <iostream>
#include <memory>
using namespace std;
int main() {
auto ptr = std::make_unique<int>();
auto c = std::shared_ptr<int>(ptr.release());
auto lambda = [=] {
std::cout << *c;
};
std::function<void()> f = std::move(lambda);
f();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWVtb3J5Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CglhdXRvIHB0ciA9IHN0ZDo6bWFrZV91bmlxdWU8aW50PigpOwoJYXV0byBjID0gc3RkOjpzaGFyZWRfcHRyPGludD4ocHRyLnJlbGVhc2UoKSk7CglhdXRvIGxhbWJkYSA9IFs9XSB7CgkJc3RkOjpjb3V0IDw8ICpjOwoJfTsKCXN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBmID0gc3RkOjptb3ZlKGxhbWJkYSk7CglmKCk7CglyZXR1cm4gMDsKfQ==