请介绍智能指针的分类,并说明 weak_ptr 何时与 shared_ptr 配合使用,解决什么问题。
考察说明
考察对现代 C++ 内存管理、智能指针语义及循环引用问题的理解
回答思路
- 准确说明 unique_ptr、shared_ptr、weak_ptr 的核心区别与所有权语义
- 解释 weak_ptr 不参与引用计数、不拥有所有权但可提升访问的特性
- 结合循环引用场景说明 shared_ptr 相互引用导致无法释放的问题
- 说明 weak_ptr 通过 lock() 提升为 shared_ptr 的典型用法和安全性
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。