2.2.1.1 常量折叠 (Constant Folding) 常量折叠不是编译器的“礼貌行为”,而是它在你代码里悄悄埋下的第一颗时间炸弹——炸掉的是冗余计算,留下的是确定性、可预测性与零开销的执行路径。 你写 ,编译器不会等到运行时才掏出计算器按一遍;它在词法分析刚结束、语法树尚未长出枝叶的刹那,就已将这行代码重写为 。这不是优化,这是编译期的断然裁决:凡可证伪之不确定,皆不配进入指令流;凡可穷举之常量,必须当场归一。 但真正让工程师脊背发凉的,从来不是“它做了什么”,而是“它没做你认为它该做的那部分”——当常量折叠在边界处失焦,它便从性能加速器蜕变为逻辑陷阱。