#include <iostream>
#include <memory>
using namespace std;
class Foo : public enable_shared_from_this<Foo>
{
public:
void Test()
{
auto sp = shared_from_this();
cout << sp.use_count() <<endl;
}
};
int main()
{
Foo f;
f.Test();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWVtb3J5Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjbGFzcyBGb28gOiBwdWJsaWMgZW5hYmxlX3NoYXJlZF9mcm9tX3RoaXM8Rm9vPgp7CnB1YmxpYzoKICB2b2lkIFRlc3QoKQogIHsKICAgIGF1dG8gc3AgPSBzaGFyZWRfZnJvbV90aGlzKCk7CiAgICBjb3V0IDw8IHNwLnVzZV9jb3VudCgpIDw8ZW5kbDsKICB9Cn07CgppbnQgbWFpbigpCnsKICBGb28gZjsKICBmLlRlc3QoKTsKICByZXR1cm4gMDsKfQ==