a ++ против a = a + 1, что полезно в эффективном программировании памяти и как? - PullRequest
4 голосов
/ 17 декабря 2010

Это был мой вопрос об интервью в HP. Я ответил, что ++ требует меньше инструкций по сравнению с a = a +1;

Я хочу знать, что полезно в эффективном программировании, и как они отличаются друг от друга ..?

Надеясь на быстрый и положительный ответ ..

Ответы [ 11 ]

0 голосов
/ 17 декабря 2010

Насколько я знаю, нет никакой разницы между 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

БУДЬТЕ ВНИМАТЕЛЬНЫ!Большинство компиляторов оптимизируют это сегодня.Если у вас есть код где-то в вашем коде, он МОЖЕТ быть оптимизирован для одной инструкции по сборке.

...