请解释 C++ 中 std::shared_ptr 的实现原理,以及为什么推荐使用 std::make_shared 而不是直接使用 new 创建共享指针?
考察说明
考察智能指针内存管理原理与 make_shared 的优劣权衡
回答思路
- 说明 shared_ptr 的引用计数机制与析构行为
- 对比 make_shared 与 new 在内存分配、异常安全上的差异
- 能指出 make_shared 的潜在局限(如无法指定删除器、控制块与对象内存耦合)
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。