Ở đây ta xem tiền tố tăng (pre-increment) và hậu tố tăng (post-increment) trong C/C++. Cả hai là toán tử tăng nhưng có khác biệt nhỏ.
Tiền tố: tăng giá trị trước, rồi gán cho biến khác. Hậu tố: gán giá trị hiện tại cho biến khác, rồi mới tăng.
Ví dụ
#include <iostream>
using namespace std;
int main() {
int x = 10, y = 10, z;
z = ++x; // z nhận 11
cout << "Z: " << z << endl;
z = y++; // z nhận 10, sau đó y thành 11
cout << "Z: " << z << " and y is: " << y << endl;
return 0;
}
Kết quả
Z: 11 Z: 10 and y is: 11
Độ ưu tiên của hậu tố tăng cao hơn tiền tố, và tính kết hợp khác nhau. Tiền tố kết hợp phải sang trái, hậu tố trái sang phải.