Другие языки программирования и технологии

И все же не пойму, в чем разница между i++ и ++i

В программировании?
в разном положении знаков ++ относительно буквы i
Дмитрий Себин
Дмитрий Себин
2 622
Лучший ответ
Дмитрий Себин вернее, противоположном
Зависит от контекста. Например, между for(;;i++) и for(;;++i) разницы нет никакой. А вот если там у тебя i += i++ + ++i, тогда разница очень даже может быть, причем еще и зависеть от компилятора.
Анатолий Удовиченко
если там у тебя i += i++ + ++i, тогда разница очень даже может быть

Интересно, откуда там возмётся разница? Значение выражения i++ + ++i не зависит от порядка вычисления, значение i на выходе тоже не зависит от порядка.
Оба оператора служат одной главной цели - чтобы у программиста пальцы не отвалились написать два-три дополнительных символа.
Сравни два куска кода и то, что они выводят, сделай выводы
 int i = 1;  
cout
Ильяс Ахметов
Ильяс Ахметов
30 155
Ну я не программист, в первом использует i, а затем прибавляет 1, а в 2 сразу увеличенную на 1
Viktor Frankenshtein
Viktor Frankenshtein
18 304
где-то попадалась инфа, что ++И отрабатывает быстрее так как нет необходимости сохранять и возвращать старое значение для вычислений
но инфа не точная
i++ действие произойдет после того как предыдущее завершится а ++i будет наоборот перед этим и другая команда уже после
Олег Царапкин
Олег Царапкин
1 779
В языке C++ разница между i++ и ++i заключается в том, как они инкрементируют (увеличивают на 1) значение переменной i.

i++ сначала использует текущее значение переменной i, а затем увеличивает его на 1. Например:

 int i = 5; 

int j = i++; // j = 5, i = 6

С другой стороны, ++i сначала увеличивает значение переменной i на 1, а затем использует его. Например:

 int i = 5; 

int j = ++i; // j = 6, i = 6

В обоих случаях значение переменной i увеличивается на 1, но результаты в переменных j отличаются. В первом случае j равно 5, а во втором случае j равно 6.