我对前后增量进行了一些测试,以确定 android 上的两个运算符之间是否存在性能或功耗差异。
我没有发现任何差异。
基本论文在这里得到了很好的解释:http ://www.roman10.net/pre-increment-and-post-increment/ (pre更快,因为没有生成temp-var)。
我为 c++ 学习了这一点,这个网站显示了 c 实现,但我无法弄清楚如何在 android 中完成实现(可能不同)。
用于测试的代码是
int lPlotRangeCtr = 0;
while (lPlotRangeCtr != mPlotRange){
int lTMP = ++lPlotRangeCtr;
}
正如你可以想象的那样,这是用于预增量的块,用于后期类似的块。我使用 tamp var "lTMP" 来确保分配了运算符的返回值,并且编译器不会转换增量运算符。
所以任何人都可以帮助我,如何找到实现。编译器仍然可以转换运算符,当它被批准时,“lTMP”永远不会被读取?编译时是否会自动删除此类语句?