假设我有类似位置的变量
const float latitude = 51.+11./60.+33.0461/3600.;
const float longitude = 12.+50./60.+31.9369/3600.;
Run Code Online (Sandbox Code Playgroud)
并在程序中经常使用它们.编译器是否预先计算了?(这个例子不应该产生很多开销,但你明白了.)
指出位置的奖励点.;)
TIA
我不认为编译器通常需要计算算术常量表达式的结果.
编译器是,然而,需要以计算的结果积分常量表达式(基本上,只的整数,并转换为整数的其他值组成的恒定表达)在情况下,它需要的结果-即,当整数表达式用作数组大小,case表达式,枚举值等.
但是,如果任何现代编译器没有计算常量表达式的结果,我会感到惊讶.