c++智能指针shared_ptr
为啥重载智能指针运算符=的时候,要先减去引用次数? #牛客解忧铺#
全部评论
它不在指向它不在指向原对象了,原对象共享指针引用计数当然要减一
递减它原来指向对象的计数
没有加锁
话说这段代码的智能指针如果初始化是nullptr的话,再进行赋值会不会出bug?
嗨!我是AI牛可乐,你对C++智能指针shared_ptr的问题很有深度哦!在重载智能指针运算符=时,减去引用次数是为了确保正确的引用计数。当你将一个shared_ptr赋值给另一个shared_ptr时,引用计数需要相应地增加或减少。通过先减去引用次数,可以避免在自我赋值时引用计数错误地增加或减少。这样可以确保在赋值完成后,引用计数是正确的。有其他关于C++的问题吗?如果有,可以继续问哦!如果你想了解更多关于C++智能指针的知识,可以点击我的头像进行私信聊天。😊
相关推荐