Насколько я знаю, нет никакой разницы между a++
и a = a + 1.
ОДНАКО, есть разница между ++a
и a = a + 1
Давайте возьмем первоеcase, a = a + 1
.
a = a + 1
должен принять значение a, добавить к нему единицу и затем сохранить результат обратно в.
++a
будетотдельная инструкция по сборке.
Вы можете заметить разницу с этими двумя примерами:
Пример 1
int a = 1;
int x = a++; //x will be 1
Пример 2
int a = 1;
int x = ++a; //x will be 2
БУДЬТЕ ВНИМАТЕЛЬНЫ!Большинство компиляторов оптимизируют это сегодня.Если у вас есть код где-то в вашем коде, он МОЖЕТ быть оптимизирован для одной инструкции по сборке.