В C++ префиксная и постфиксная формы инкремента (++) и декремента (—) представляют собой два разных способа изменения значения переменной. Разница между ними заключается в порядке выполнения операции и возвращаемом значении.
В префиксной форме оператор инкремента или декремента применяется к переменной перед ее использованием в выражении. Это означает, что значение переменной увеличивается или уменьшается, а затем возвращается новое значение.
В постфиксной форме оператор инкремента или декремента применяется к переменной после ее использования в выражении. Это означает, что значение переменной сначала возвращается, а затем изменяется.
Пример 1
int i=1, value; value = i++; cout << value << " " << i << endl; // 1 2 value = ++i; cout << value << " " << i << endl; // 3 3
Пример 2
int i=1, j=1; cout << i++ << ", " << ++j << endl; // 1 2 cout << i << ", " << j << endl; // 2 2
Замечание
В циклах рекомендуется использовать префиксную форму инкремента ++i, а не постфиксную i++, так как префиксная форма инкремента реализуется легче.
Заключение.
Префиксы (++a, —a) — сначала изменяет значение переменной, затем возвращает измененное значение.
Постфиксы (a++, a—) — сначала возвращает текущее значение переменной, затем изменяет значение переменной.
