Các toán tử gán ghép được chỉ định ở dạng e1 op =e2, trong đó e1 là giá trị l có thể sửa đổi không thuộc loại const và e2 là một trong những điều sau -
- Một kiểu số học
- Một con trỏ, nếu op là + hoặc -
Biểu mẫu e1 op =e2 hoạt động như e1 =e1 op e2, nhưng e1 chỉ được đánh giá một lần.
Sau đây là các toán tử gán ghép trong C ++ -
Các toán tử | Mô tả |
---|---|
* = | Nhân giá trị của toán hạng đầu tiên với giá trị của toán hạng thứ hai; lưu trữ kết quả trong đối tượng được chỉ định bởi toán hạng đầu tiên. |
/ = | Chia giá trị của toán hạng đầu tiên cho giá trị của toán hạng thứ hai; lưu trữ kết quả trong đối tượng được chỉ định bởi toán hạng đầu tiên. |
% = | Lấy môđun của toán hạng đầu tiên được chỉ định bởi giá trị của toán hạng thứ hai; lưu trữ kết quả trong đối tượng được chỉ định bởi toán hạng đầu tiên. |
+ = | Thêm giá trị của toán hạng thứ hai vào giá trị của toán hạng đầu tiên; lưu trữ kết quả trong đối tượng được chỉ định bởi toán hạng đầu tiên. |
- = | Trừ giá trị của toán hạng thứ hai với giá trị của toán hạng đầu tiên; lưu trữ kết quả trong đối tượng được chỉ định bởi toán hạng đầu tiên. |
<<= | Dịch chuyển giá trị của toán hạng đầu tiên sang trái số bit được chỉ định bởi giá trị của toán hạng thứ hai; lưu trữ kết quả trong đối tượng được chỉ định bởi toán hạng đầu tiên. |
>> = | Dịch giá trị của toán hạng đầu tiên sang phải số bit được chỉ định bởi giá trị của toán hạng thứ hai; lưu trữ kết quả trong đối tượng được chỉ định bởi toán hạng đầu tiên. |
&= | Lấy AND bitwise của toán hạng thứ nhất và thứ hai; lưu trữ kết quả trong đối tượng được chỉ định bởi toán hạng đầu tiên. |
^ = | Lấy OR loại trừ bit của toán hạng thứ nhất và thứ hai; lưu trữ kết quả trong đối tượng được chỉ định bởi toán hạng đầu tiên. |
| = | Lấy OR bao gồm bitwise của toán hạng thứ nhất và thứ hai; lưu trữ kết quả trong đối tượng được chỉ định bởi toán hạng đầu tiên. |
Ví dụ
Hãy xem một ví dụ sử dụng một số toán tử này -
#include<iostream> using namespace std; int main() { int a = 3, b = 2; a += b; cout << a << endl; a -= b; cout << a << endl; a *= b; cout << a << endl; a /= b; cout << a << endl; return 0; }
Đầu ra
Điều này sẽ đưa ra kết quả -
5 3 6 3
Lưu ý rằng việc gán ghép cho một kiểu liệt kê sẽ tạo ra một thông báo lỗi. Nếu toán hạng bên trái thuộc loại con trỏ, toán hạng bên phải phải thuộc loại con trỏ hoặc nó phải là một biểu thức hằng có giá trị bằng 0. Nếu toán hạng bên trái thuộc loại tích phân, toán hạng bên phải không phải là một con trỏ loại.