Различие между мной ++ и ++ я в для цикла [дубликат]

5
задан Community 23 May 2017 в 12:24
поделиться

3 ответа

Вообще ничего. Приращение - это отдельный оператор, поэтому не имеет значения, увеличивается ли он до или после.

5
ответ дан 14 December 2019 в 04:35
поделиться

Это имеет значение, только если оптимизатор недостаточно умен, чтобы понять, что он может сделать ++i, даже если вы указали i++. (Что не очень вероятно в современных компиляторах.)

Вы можете узнать действительно старых программистов, потому что они всегда используют ++i, если им не нужно использовать i++, потому что когда-то компиляторы были гораздо менее умными.

1
ответ дан 14 December 2019 в 04:35
поделиться

Операторы инкремента post- и pre- имеют значение, главным образом, если вы заботитесь о значении некоторой переменной в составном операторе. Отдельные операторы инкремента, каким является третий пункт цикла for, не зависят от выбора pre или post.

int j = i++; и int j = ++i; сильно отличаются. Вам нужно текущее значение i или увеличенное значение i? В примере с циклом for вам все равно, лишь бы инкремент был.

2
ответ дан 14 December 2019 в 04:35
поделиться