请解释 C++ 中 std::weak_ptr 的底层实现原理,以及它如何避免循环引用问题?
考察说明
考察对 shared_ptr 控制块、引用计数及 weak_ptr 生命周期管理的理解
回答思路
- 说明 weak_ptr 与控制块中强引用计数和弱引用计数的关系
- 解释 weak_ptr 如何通过 lock() 获取 shared_ptr 及其原子性
- 说明 weak_ptr 不增加强引用计数,避免循环引用导致的内存泄漏
- 说明 weak_ptr 在控制块销毁后的悬垂状态及安全性
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。