Computer >> Máy Tính >  >> Lập trình >> C ++

Toán tử gán trong C ++


Toán tử gán lưu trữ một giá trị trong đối tượng được chỉ định bởi toán hạng bên trái. Có hai loại phép gán:phép gán đơn giản, trong đó giá trị của toán hạng thứ hai được lưu trữ trong đối tượng được chỉ định bởi toán hạng thứ nhất và phép gán ghép, trong đó phép toán số học, dịch chuyển hoặc phép toán bit được thực hiện trước khi lưu trữ kết quả.

Ví dụ

Ví dụ về toán tử gán đơn giản -

#include<iostream>
using namespace std;
int main() {
   int i;
   i = 10;    // Simple Assignment
   cout << i;
   return 0;
}

Đầu ra

Điều này sẽ đưa ra kết quả -

10

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 -

Dạng 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 ++ -

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 chuyển 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ử trong số 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;
}

Điều này sẽ cung cấp đầu ra -

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.