行业知识
C++中的智能指针详解
2026-11-12 12:50:52
来源:互联网转载
C++中的智能指针是一种用于管理动态分配内存的工具,它们index.php/tags-653.html" >可以自动释放内存,防止内存泄漏和悬挂指针问题。C++11标准引入了智能指针,包括std::unique_ptr、std::shared_ptr和std::weak_ptr。每种智能指针都有不同的用途和特性。下面对它们进行详细介绍。
1. std::unique_ptr
std::unique_ptr是独占所有权的智能指针,意味着某一时刻只能有一个unique_ptr指向同一块内存。当unique_ptr被销毁时,它所管理的对象会自动被删除。
特点:
- 独占所有权,不能共享。
- 自动释放内存,防止内存泄漏。
- 支持移动语义,但不支持复制语义。
用法:
#include #include class MyClass {public: MyClass() { std::cout