还在苦苦敲代码开发APP?你out啦! 试试积木搭建APP吧~

shared_ptr指针被赋值后,原指针会引用清零、自动释放。

来源:清泛原创     2016-06-07 10:37:59    人气:     我有话说( 0 人参与)

shared_ptr指针被赋值后,原指针会引用清零、自动释放。std::shared_ptr<int> intg;void foo(std::shared_ptr<int> p){ ...

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;
}

指针

注:本文为本站或本站会员原创优质内容,版权属于原作者及清泛网所有,
欢迎转载,转载时须注明版权并添加来源链接,谢谢合作! (编辑:admin)
分享到: