原创 《深入理解 C++ 智能指针:unique_ptr、shared_ptr 与 weak_ptr 全解析》

2025-6-11 22:55 111 2 2 分类: 物联网

一、引言

在传统 C++ 编程中,内存泄漏是一个常见的问题。智能指针的引入极大地简化了资源管理,尤其在 C++11 以后,unique_ptrshared_ptrweak_ptr 被标准化并广泛应用于现代 C++ 项目中。

本文将全面讲解三种智能指针的使用场景、内部机制、常见陷阱,并通过图示和代码示例帮助读者构建对智能指针的系统性理解。


二、智能指针概览

智能指针类型所有权引用计数可拷贝性自动释放
unique_ptr唯一
shared_ptr共享
weak_ptr非拥有

三、unique_ptr —— 独占式智能指针

3.1 基本使用

cpp
复制编辑
#include<memory> std::unique_ptr<int> ptr = std::make_unique<int>(10); std::cout << *ptr << std::endl;

3.2 转移所有权

cpp
复制编辑
std::unique_ptr<int> ptr2 = std::move(ptr);

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
2
关闭 站长推荐上一条 /1 下一条