Возможно, это не имеет значения для компилятора после его оптимизации, но в C/С++ я вижу, что большинство людей делают цикл for в виде:
for (i = 0; i < arr.length; i++)
где приращение выполняется с помощью post fix ++. Я получаю разницу между двумя формами. я ++ возвращает текущее значение i, но затем добавляет 1 к я в тишине. ++ я сначала добавляет 1 к я и возвращает новое значение (будучи еще 1 больше, чем я).
Я думаю, что я ++ требует немного больше работы, поскольку предыдущее значение нужно сохранить в дополнение к следующему значению: Push * (& i) для стека (или загрузки для регистрации); increment * (& i). Versus ++ i: Increment * (& i); затем используйте * (& i) по мере необходимости.
(я понимаю, что операция "Increment * (& i)" может включать в себя нагрузку регистра, в зависимости от дизайна ЦП. В этом случае я ++ потребуется либо другой регистр, либо push файл.)
В любом случае, в какой момент и почему, я ++ стал более модным?
Я склонен поверить ажеглову: это педагогическая вещь, и поскольку большинство из нас делает C/С++ в системе Window или * nix, где компиляторы имеют высокое качество, никто не пострадал.
Если вы используете компилятор низкого качества или интерпретируемую среду, вам может потребоваться быть чувствительным к этому. Конечно, если вы делаете продвинутый С++ или драйвер устройства или встроенную работу, мы надеемся, что вы достаточно опытные, чтобы это было неважно. (У собак есть природа Будды? Кто действительно должен знать?)