如果我在 for 循环中有一个对于循环的所有迭代都相同的方法调用 - 编译器是否足够聪明来优化它?
for (int j = 0; j < 24; j++ ) {
*destinationPointer++ = identityArray[j] * (1 / powf(2, valueFromAboveInMethod));
}
还是我应该明确并在循环之前将其分配给一个值?
float value = 1 / powf(2, valueFromAboveInMethod);
// populate the array
for (int j = 0; j < 24; j++ ) {
*destinationPointer++ = identityArray[j] * value;
}
如果编译器在这里做了一些很棒的事情并且我不必为浮点数使用 4 个字节,我会更高兴——这是在递归方法中。