shared_ptr C++代码
时间: 2023-07-10 13:15:32 浏览: 92
详解C++中shared_ptr的使用教程
下面是一个使用 `shared_ptr` 的 C++ 代码示例:
```c++
#include <iostream>
#include <memory>
int main() {
std::shared_ptr<int> p1(new int(10)); // 使用 shared_ptr 动态分配内存
std::shared_ptr<int> p2 = p1; // 将 p1 赋值给 p2
std::cout << *p1 << " " << *p2 << std::endl; // 输出内存中的值
return 0;
}
```
在这个例子中,我们使用 `std::shared_ptr` 对一个 int 类型的内存进行动态分配,然后将它赋值给另一个 `std::shared_ptr` 对象。`std::shared_ptr` 也是一个智能指针,它可以确保在所有引用计数为 0 时自动释放分配的内存,避免内存泄漏和野指针的问题。在使用 `std::shared_ptr` 时,我们可以将它赋值给其他 `std::shared_ptr` 对象,这样就可以共享同一块内存。在每个对象离开作用域时,引用计数会减 1,直到所有引用计数为 0 时,`std::shared_ptr` 会自动释放内存,无需手动调用 `delete`。
阅读全文