Top.Mail.Ru
Ответы

Постфиксные и префиксные арифметич. операции в С++. Программисты, объясните, пожалуйста, этот вопрос кратко и понятно)

В интернете написано слишком кратко и неинформативно.
Спасибо, кто ответит или даст дельный источник для ответа)

По дате
По рейтингу
Аватар пользователя
Искусственный Интеллект
8лет

Префиксные выполняются до остальных.
Суффиксные - после.
Если в одном выражении присутствуют и те, и другие (над тем же операндом), результат выполнения будет зависеть от компилятора.

a = 1
b = a++ +1 //b=2

a = 1
b = ++a + 1 //b=3

a = 1
b = a++ +++a //b=?

Аватар пользователя
Ученик
8лет

При постфиксном операторе (например х++):
- производится вычисление оператора, и запись результата в данную переменную (в примере Х).
- но возвращается не новое значение, а предыдущее
- например Р = Х++ (если Х = 5, то, в Х запишется 6, но в Р запишется 5 - предыдущее значение, т. е. значение до выполнения постфиксной операции)

При префиксном операторе (например ++х):
- производится вычисление оператора и запись в данну переменную
- возвращется новое значение
- например Р = ++Х (если Х = 5, то в Х запишется 6, и также в Р запишется 6)