【发布时间】:2015-07-08 14:06:31
【问题描述】:
K&R c 第 2 版(第 2.3 节)提及
常量表达式是只包含常量的表达式。这样的表达式可以在编译期间而不是运行时进行评估,因此可以在任何可能出现常量的地方使用
但是,我对此有几个疑问:
-
这个表达式会被认为是常量表达式吗?
const int x=5; const int y=6; int z=x+y;即使用
const关键字是否被视为常量表达式? 是否有任何技术可以检查表达式是在编译期间还是在运行时评估的?
是否存在编译时评估与运行时评估产生不同结果的情况?
我应该关心它吗? (也许我用它来优化我的程序)
【问题讨论】:
-
阅读standard; K&R 不是标准,而且已经过时了。
标签: c constant-expression