#include<iostream>
#include<memory>
int main()
{
std::shared_ptr<int> sh1 = std::make_shared<int>(1);
std::shared_ptr<int> sh2 = sh1;
std::cout << "sh1 use count: " << sh1.use_count() << std::endl;
std::cout << "sh2 use count: " << sh2.use_count() << std::endl;
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPG1lbW9yeT4KCmludCBtYWluKCkKewogIHN0ZDo6c2hhcmVkX3B0cjxpbnQ+IHNoMSA9IHN0ZDo6bWFrZV9zaGFyZWQ8aW50PigxKTsKICBzdGQ6OnNoYXJlZF9wdHI8aW50PiBzaDIgPSBzaDE7CgogIHN0ZDo6Y291dCA8PCAic2gxIHVzZSBjb3VudDogIiA8PCBzaDEudXNlX2NvdW50KCkgPDwgc3RkOjplbmRsOwogIHN0ZDo6Y291dCA8PCAic2gyIHVzZSBjb3VudDogIiA8PCBzaDIudXNlX2NvdW50KCkgPDwgc3RkOjplbmRsOwoKICByZXR1cm4gMDsKfQ==