电子/硬件开发面试题更新 2026-08-05

请比较 C++ 中 malloc/free 与 new/delete 的区别,并说明各自适用场景。

vivo电子/硬件开发电子/半导体技术原理方案权衡问题排查C++

考察说明

考察对 C++ 内存管理底层机制与语言特性的理解

回答思路

  1. 准确说明 malloc/free 与 new/delete 在类型安全、构造析构调用上的差异
  2. 能指出 new 返回类型化指针而 malloc 返回 void* 且需手动强转
  3. 理解 new/delete 内部可能调用 malloc/free,并说明内存分配失败的处理差异
  4. 能结合自定义类型说明 delete 与 delete[] 的区别及数组内存管理
  5. 能给出混合使用的风险(如用 free 释放 new 分配的内存)
  6. 能结合实际场景说明何时优先选用哪一组
本题已收录答题指导

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

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