Phiên bản tiền tố (++i): giá trị của i được tăng, giá trị biểu thức là giá trị mới của i. Tức là tăng trước, rồi dùng giá trị mới.
Phiên bản hậu tố (i++): giá trị của i được tăng, nhưng giá trị biểu thức là giá trị cũ của i. Tức là dùng giá trị cũ trước, rồi mới tăng.
Ví dụ
#include <iostream>
using namespace std;
int main() {
int x = 3, y, z;
y = x++;
z = ++x;
cout << x << ", " << y << ", " << z;
return 0;
}
Đầu ra
5, 3, 5
Giải thích:
- Khởi tạo x = 3
- Gán y = x++ → y lấy giá trị x trước khi tăng (3), sau đó x thành 4
- Gán z = ++x → x tăng trước (thành 5), z lấy giá trị mới (5)
- In x, y, z → 5, 3, 5