请说明 shared_ptr 的内部实现原理、weak_ptr 的典型用法,以及调用 weak_ptr::lock() 可能遇到的问题,并解释如何结合二者实现观察者模式。
考察说明
考察智能指针内存管理原理、循环引用处理及实际工程应用
回答思路
- 准确描述 shared_ptr 的引用计数与控制块结构
- 正确说明 weak_ptr 解决循环引用的方式及 lock() 的线程安全性
- 识别 weak_ptr::lock() 可能引入的竞态与性能开销
- 能结合观察者模式说明 weak_ptr 的典型应用场景
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。