Toán tử tăng (++) và toán tử giảm (--) trong C++



Toán tử tăng (++) cộng toán hạng thêm một đơn vị, và toán tử giảm (--) trừ một đơn vị từ toán hạng. Do vậy:

x = x+1;
 
la tuong tu
 
x++;

Tương tự như vậy:

x = x-1;
 
la tuong tu
 
x--;

Cả toán tử tăng và toán tử giảm đều có dạng tiền tố đặt trước hoặc hậu tố theo sau toán hạng. Ví dụ:

x = x+1;
 
co the duoc viet duoi dang
 
++x; // day la dang co tien to (prefix) dat truoc

hoặc dạng:

x++; // la dang voi hau to (postfix) dat sau

Khi một toán tử tăng hay toán tử giảm được sử dụng như là một phần của biểu thức, thì sẽ có một sự khác nhau quan trọng giữa dạng tiền tố và hậu tố. Nếu bạn sử dụng dạng tiền tố thì toán tử tăng hoặc toán tử giảm được thực hiện trước biểu thức, và nếu bạn sử dụng dạng hậu tố thì toán tử tăng hoặc toán tử giảm được thực hiện sau khi biểu thức được ước lượng.

Ví dụ

Ví dụ sau giải thích giúp bạn sự khác nhau này:

#include 
using namespace std;
 
main()
{
   int a = 21;
   int c ;
 
   // Gia tri cua a se khong duoc tang truoc khi duoc gan.
   c = a++;   
   cout << "1, Gia tri cua a++ la: " << c << endl ;
 
   // Sau khi gia tri cua a duoc tang thi:
   cout << "2, Gia tri cua a la: " << a << endl ;
 
   // Gia tri cua a se duoc tang truoc khi duoc gan.
   c = ++a;  
   cout << "3, Gia tri cua ++a la: " << c << endl ;
   return 0;
}

Chạy chương trình C++ trên sẽ cho kết quả như hình sau:

Toán tử tăng (++), giảm (--) trong C++
toan_tu_trong_cplusplus.jsp