后端岗位面试题更新 2026-08-05
内联函数和宏定义的区别是什么?请分别说明它们的定义方式和使用场景。
米哈游后端开发游戏技术原理方案权衡CC++
考察说明
考察对C/C++内联函数和宏定义在编译机制、类型安全、性能上的差异理解
回答思路
- 能够说明宏定义是预处理阶段的文本替换,内联函数是编译期的函数体展开
- 指出宏缺乏类型检查、容易产生副作用,内联函数有类型检查且参数求值一次
- 说明内联函数可能被编译器拒绝内联,宏则必然展开
- 结合使用场景说明何时选择内联或宏
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。