1

给定一个诸如int myNum = 5 + (5 * 9)或任何其他数学运算之类的操作,该语句的哪些部分(如果有)由编译器执行?哪些是在运行时执行的?显然,不断变化的变量不能在编译时简化,但某些操作可能会。编译器是否甚至愿意做任何这样的简化(例如做出上述声明int myNum = 50;)?这在负载、速度或任何其他客观测量方面是否重要?

细节是关键,请尽可能多地阐述你的想法。

我的意思是这适用于任何算术运算。

4

1 回答 1

3

检查常量折叠

常量折叠是在编译时简化常量表达式的过程。常量表达式中的项通常是简单的文字,例如整数 2,但也可以是其值永远不会修改的变量,或者是明确标记为常量的变量。

于 2012-10-10T01:47:05.023 回答