<分区>
我感兴趣的是,for
循环测试表达式的这些形式中哪种更正确(从性能和良好的代码实践的角度来看):
for(i = 0; i < size - 1; i++) {
do something
}
或
int decreased_size = size - 1;
for(i = 0; i < decreased_size; i++) {
do something
}
第一个例子中测试表达式size - 1
是每次都计算还是编译器优化为常量值,所以不需要创建额外的变量decreased_size
?
我一直在创建一个额外的变量,但现在,查看 Codeforces 上的其他解决方案, 我怀疑 - 这是否有意义?
编译器:GCC 版本 5.4.0 20160609