#include <functional>
#include <iostream>
void* Test() {
return nullptr;
}
int main(int argc, char* argv[]) {
std::function<void()> foo;
std::cout << !!foo << std::endl;
foo = nullptr;
std::cout << !!foo << std::endl;
foo = reinterpret_cast<void(*)()>(Test());
std::cout << !!foo << std::endl;
return 0;
}
I2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiNpbmNsdWRlIDxpb3N0cmVhbT4KCnZvaWQqIFRlc3QoKSB7CglyZXR1cm4gbnVsbHB0cjsKfQoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkgewoJc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGZvbzsKCXN0ZDo6Y291dCA8PCAhIWZvbyA8PCBzdGQ6OmVuZGw7CgkKCWZvbyA9IG51bGxwdHI7CglzdGQ6OmNvdXQgPDwgISFmb28gPDwgc3RkOjplbmRsOwoKCWZvbyA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCgqKSgpPihUZXN0KCkpOwoJc3RkOjpjb3V0IDw8ICEhZm9vIDw8IHN0ZDo6ZW5kbDsKCglyZXR1cm4gMDsKfQ==