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

为什么单例里使用shared_ptr的构造函数而不是make_shared?

Momenta后端开发互联网/IT技术原理方案权衡C++

考察说明

考察智能指针实现细节、异常安全与单例初始化的权衡

回答思路

  1. 能解释make_shared与new shared_ptr的内存分配差异
  2. 能分析单例场景下可能存在的异常安全问题
  3. 能说明两者在控制块与对象内存布局上的区别
  4. 能结合单例初始化时机讨论适用性