Отличается ли i++ от ++i в c++? - Вопросы по С+

Вопрос Отличается ли i++ от ++i в c++?

Регистрация
26 Май 2013
Сообщения
86
Репутация
0
Спасибо
0
Монет
0
Чтобы увидеть разницу, запустите этот наглядный пример: #include <iostream>

using namespace std;

int main() {
int a = 3;
int b = 3;
cout << "a = " << a << ", b = " << b << endl;
cout << "a++ = " << a++ << ", ++b = " << ++b << endl;
cout << "a = " << a << ", b = " << b << endl;
}
 
Регистрация
16 Мар 2013
Сообщения
84
Репутация
0
Спасибо
0
Монет
0
Естественно, да.
++i меняет значение i до использования i, i++ - после. Кроме того, один выдает l-value, а другой r-value, что означает, например, что ++++i возможно, а i++++ - нет (так только в C++, в C иначе). И кроме того, у них разное быстродействие. И еще у них разные приоритеты выполнения ( ru.cppreference.com/w/cpp/language/operator_precedence ).
 
Сверху Снизу