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

请说明 shared_ptr、weak_ptr 和 unique_ptr 的区别,以及在哪些场景下可以或必须用 unique_ptr 替代 shared_ptr 和 weak_ptr。

中望软件后端开发专业服务技术原理技术选型方案权衡C++

考察说明

考察 C++ 智能指针的语义差异、所有权模型与适用场景选择

回答思路

  1. 清晰说明三种智能指针的所有权语义
  2. 指出 unique_ptr 可替代 shared_ptr 的典型场景(独占所有权、无共享需求)
  3. 说明 weak_ptr 解决的循环引用场景与 unique_ptr 的差异
  4. 结合代码或场景举例说明选择依据
本题已收录答题指导

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

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