std::shared_ptr的使用
时间: 2023-11-09 15:53:24 浏览: 93
shared_ptr
std::shared_ptr 是 C++11 中引入的智能指针,用于解决资源管理的问题,特别是在动态分配内存时很有用。它允许多个智能指针共享同一个对象的所有权,并在最后一个引用被销毁时自动释放内存。
要使用 std::shared_ptr,首先需要包含 <memory> 头文件。然后可以使用 std::shared_ptr 类模板来创建智能指针对象,如下所示:
```cpp
#include <memory>
int main() {
// 创建 shared_ptr 对象
std::shared_ptr<int> ptr(new int(5));
// 使用智能指针
*ptr = 10;
std::cout << *ptr << std::endl;
return 0;
}
```
在上面的示例中,我们创建了一个指向 int 类型的 shared_ptr 对象,该对象指向一个动态分配的整数 5。我们可以像使用原始指针一样使用 shared_ptr,并且当不再需要时,无需手动释放内存。
此外,shared_ptr 还可以通过复制构造函数或赋值运算符进行拷贝或赋值给其他 shared_ptr。当所有 shared_ptr 对象超出范围或显式地进行重置时,它们会自动释放它们所管理的资源。
阅读全文