Toán tử tăng (++) tăng giá trị lên 1, toán tử giảm (--) giảm giá trị đi 1.
- Pre-increment (
++i): Tăng giá trị trước khi sử dụng trong biểu thức. - Post-increment (
i++): Sử dụng giá trị hiện tại trước, sau đó mới tăng.
Cú pháp
++variable_name; // Pre-increment
variable_name++; // Post-increment
Ví dụ trong C++
#include <iostream>
using namespace std;
int main() {
int i = 5;
cout << "Gia tri ban dau: " << i;
// Pre-increment: ++i < 10 -> i tăng trước, rồi so sánh
cout << "\nPre-increment: ";
while (++i < 10)
cout << "\t" << i;
cout << "\nSau vong pre, i = " << i; // i = 10
// Post-increment: i++ < 15 -> so sánh trước, rồi tăng
cout << "\nPost-increment: ";
while (i++ < 15)
cout << "\t" << i;
return 0;
}
Kết quả
Gia tri ban dau: 5
Pre-increment: 6 7 8 9
Sau vong pre, i = 10
Post-increment: 11 12 13 14 15
Giải thích chi tiết:
- Pre-increment:
++ităngitừ 5→6, so sánh 6<10 (true), in 6. Tiếp tục đến khi++ithành 10, so sánh 10<10 (false), dừng. Lúc nàyi=10. - Post-increment:
i++so sánhi(10) với 15 (true), sau đóithành 11, in 11. Lặp lại cho đến khi so sánh 15<15 (false). Cuối cùngi=16.
Lưu ý: Trong biểu thức phức tạp, tránh dùng cả pre và post increment trên cùng một biến (undefined behavior theo chuẩn C/C++).