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

#define 和 inline 的区别是什么?分别适合在什么场景使用?

新华三后端开发电子/半导体技术原理方案权衡CC++

考察说明

考察宏定义与内联函数的语义差异、适用场景及边界控制

回答思路

  1. 准确说明宏是预处理器文本替换、inline 是编译期函数内联
  2. 指出宏的类型不安全、无作用域、易产生副作用等缺陷
  3. 说明 inline 的类型检查、作用域、可调试性与求值次数保证
  4. 给出典型选型:常量与简单表达式用 #define,需要类型安全的函数用 inline,并考虑性能与可维护性
本题已收录答题指导

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

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