后端岗位面试题更新 2026-08-05

在C++中,当两个对象相互引用时,如何决定哪一端使用shared_ptr、哪一端使用weak_ptr来避免循环引用导致的内存泄漏?判断依据是什么?

腾讯云智研发后端开发互联网/IT技术原理方案权衡C++

考察说明

考察C++智能指针循环引用问题及所有权模型的理解

回答思路

  1. 能准确说明循环引用导致内存泄漏的原因
  2. 能根据所有权层级判断哪一方持有shared_ptr
  3. 能解释weak_ptr用于打破循环引用的机制
  4. 能举例说明父子或拥有关系的典型判断依据
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。