C ++中的赋值运算符

赋值运算符在左操作数指定的对象中存储一个值。有两种赋值操作:简单赋值(其中第二个操作数的值存储在第一个操作数指定的对象中)和复合赋值(其中的算术运算,移位运算或按位运算)结果。

示例

简单的赋值运算符示例-

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

输出结果

这将给出输出-

10

复合赋值运算符以e1 op = e2的形式指定,其中e1是非const类型的可修改l值,e2是以下值之一-

  • 算术类型

  • 指针,如果op为+或–

e1 op = e2形式表现为e1 = e1 op e2,但是e1仅被评估一次。
以下是C ++中的复合赋值运算符-

经营者
描述
 * =
将第一个操作数的值乘以第二个操作数的值;将结果存储在第一个操作数指定的对象中。
/ =
将第一个操作数的值除以第二个操作数的值;将结果存储在第一个操作数指定的对象中。
 %=
取由第二个操作数的值指定的第一个操作数的模数;将结果存储在第一个操作数指定的对象中。
+ =
将第二个操作数的值添加到第一个操作数的值;将结果存储在第一个操作数指定的对象中。
– =
从第一个操作数的值中减去第二个操作数的值;将结果存储在第一个操作数指定的对象中。
<< =
将第一个操作数的值左移第二个操作数的值指定的位数;将结果存储在第一个操作数指定的对象中。
>> =
将第一个操作数的值右移第二个操作数的值指定的位数;将结果存储在第一个操作数指定的对象中。
&=
获取第一和第二操作数的按位与;将结果存储在第一个操作数指定的对象中。
^ =
获取第一和第二操作数的按位异或;将结果存储在第一个操作数指定的对象中。
| =获取第一和第二操作数的按位或运算符;将结果存储在第一个操作数指定的对象中。

示例

让我们来看一个使用其中一些运算符的示例-

#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;
}

这将给出输出-

5
3
6
3

请注意,将化合物分配给枚举类型会生成错误消息。如果左操作数是指针类型,则右操作数必须是指针类型,或者它必须是一个等于0的常量表达式。如果左操作数是整数类型,则右操作数不能是指针类型。