【发布时间】:2012-08-26 10:46:12
【问题描述】:
double calcTaxAmount() {
double price = getA() * getB() + getC();
double taxRate = getD() + getE();
return price * taxRate;
}
上面的函数计算纳税金额。
价格和费率是通过调用其他一些函数来计算的。
我引入了两个局部变量 price 和 taxRate 只是为了提高代码的可读性,所以它们都只会使用一次。 大多数现代编译器会在编译时替换和内联这些类型的“一次性”局部变量吗?
【问题讨论】:
-
不确定,但我认为添加 final 可能会有所帮助。我猜编译器足够聪明,可以内联它们
-
我会更害怕使用 5 个吸气剂。 :-)
-
代码是为演示目的而编写的。我不会这样编码。我只需要一个简单的例子来表达问题的意图。
标签: java c++ optimization compiler-construction