shared_ptr指针被赋值后,原指针会引用清零、自动释放。
清泛原创
shared_ptr指针被赋值后,原指针会引用清零、自动释放。
std::shared_ptr<int> intg;
void foo(std::shared_ptr<int> p)
{
intg = p; // 原指针释放,存储新的智能指针
//*(intg.get()) = *(p.get()); // 原指针不释放,仅修改原指针指向的内容
}
int _tmain(int argc, _TCHAR* argv[])
{
{
std::shared_ptr<int> sp(new int(2));
intg = sp;
}
std::shared_ptr<int> sp22(new int(8));
foo(sp22);
printf("%d\n", intg.use_count());
printf("%d\n", *(intg).get());
return 0;
}
上一篇:warning C4996
下一篇:const char *, char const *, char * const 异同?const修饰符各位置有何区别?