C++11 引入了智能指针和移动语义,请分别说明 shared_ptr 和 weak_ptr 的区别、weak_ptr 解决了什么问题,以及 unique_ptr 的使用场景,并结合 move 语义谈谈你的理解。
考察说明
考察 C++11 智能指针的底层原理、所有权模型与移动语义的应用
回答思路
- 准确区分 shared_ptr 与 weak_ptr 的引用计数机制与生命周期
- 说明 weak_ptr 解决循环引用和悬垂访问问题
- 阐述 unique_ptr 的所有权独占与性能优势
- 结合 move 语义说明资源转移和避免拷贝的开销
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。