何时需要使用 shared_ptr ?
(1) 程序不知道自己需要使用多少对象. 如使用窗口类, 使用 shared_ptr 为了让多个对象能共享相同的底层数据.
std::vector<std::string> v1; // 一个空的 vector
// 在某个新的作用域中拷贝数据到 v1 中
{
std::vector<std::string> v2;
v2.push_back("a");
v2.push_back("b");
v2.push_back("c");
v1 = v2;
} // 作用域结束时 v2 被销毁, 数据被拷贝到 v1 中
(2) 程序不知道所需对象的准确类型.
(3) 程序需要在多个对象间共享数据.
本文探讨了在C++中使用shared_ptr的三个关键场景:当程序不确定需要多少对象、对象的确切类型未知以及多个对象需要共享数据时。通过实例说明了如何在这些情况下应用shared_ptr来管理资源。
3万+

被折叠的 条评论
为什么被折叠?



