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

C++ STL vector 扩容时是 1.5 倍好还是 2 倍好?各自的优缺点是什么?

巨人网络后端开发游戏性能优化技术原理方案权衡C++

考察说明

考察 vector 扩容倍数对性能与内存利用的影响及权衡

回答思路

  1. 正确解释 1.5 倍与 2 倍在均摊时间复杂度上的差异
  2. 说明 2 倍扩容均摊 O(1) 但内存浪费较多
  3. 说明 1.5 倍内存利用率更高但均摊开销可能更大
  4. 联系内存分配器与缓存局部性分析实际影响