c++中shared_ptr赋值的方法是什么

c++
2026
2024/1/20 12:39:27
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在C++中,可以使用以下方法对shared_ptr进行赋值:

  1. 使用赋值运算符:可以使用"="运算符将一个shared_ptr赋值给另一个shared_ptr。例如:
std::shared_ptr<int> ptr1 = std::make_shared<int>(5);
std::shared_ptr<int> ptr2 = ptr1; // 使用赋值运算符将ptr1赋值给ptr2
  1. 使用reset()函数:可以使用reset()函数将一个shared_ptr赋值给另一个shared_ptr。例如:
std::shared_ptr<int> ptr1 = std::make_shared<int>(5);
std::shared_ptr<int> ptr2;
ptr2.reset(ptr1.get()); // 将ptr1赋值给ptr2

需要注意的是,如果shared_ptr已经指向了某个对象,当将其赋值给另一个shared_ptr时,原有的shared_ptr会自动减少引用计数。如果引用计数为0,则释放所管理的对象。当赋值后的shared_ptr被析构或者被赋予其他值时,引用计数会增加。这意味着可以通过shared_ptr来共享资源,当不再需要该资源时,会自动释放。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: c++中fill函数的作用是什么