c++ shared_ptr 使用
时间: 2023-06-05 12:47:25 浏览: 138
详解C++中shared_ptr的使用教程
shared_ptr 是 C++11 新增的智能指针类,用于管理动态内存的释放和引用计数。
使用 shared_ptr 的步骤如下:
1. 引入头文件 <memory>
2. 创建指针并分配内存:`shared_ptr<int> ptr(new int(10));`
3. 访问指针所指向的对象:`int a = *ptr;`
4. 多个 shared_ptr 对同一对象进行引用,引用计数会增加,当引用计数为 0 时,自动释放内存。
5. shared_ptr 还支持自定义删除器,用于在对象被删除后执行一些额外的操作,比如释放相关资源。
虽然使用 shared_ptr 可以避免裸指针的一些问题,但在实际应用中还是需要谨慎使用。比如,在存在循环引用的对象间使用 shared_ptr 可能会导致内存泄漏,需要采用其他手段解决。同时,使用 shared_ptr 也可能会带来性能上的开销,因此需要根据具体情况选择合适的内存管理方式。
阅读全文