Что было бы более эффективным?Эффективно ли проверить нуль?
if(foo != 0)
{
bar += foo;
}
или
bar += foo;
Предполагая, что Foo может иметь приличный шанс быть 0 (скажем, 25%, но может сделать другие предположения о процентах, очевидно, 0% будет означать, что последний всегда более эффективно)
Есть ли консенсус о том, когда вы должны использовать один над другим, или люди делают такие вещи, как профилирование, для определения фактического более эффективного выражения?
Такие микрооптимизации следует избегать до тех пор, пока вы не профилируете и не обнаружите, что есть проблема с кодом. Код для удобочитаемости и ремонтопригодности и только после того, как вы знаете, что вам нужно. – NathanOliver
Можно ли считать, что оператор '+ =' является встроенным, и он не перегружен? – anatolyg
@ anatolyg, как это важно, поскольку оба используют один и тот же оператор? – uSeemSurprised