C++中的复合赋值运算符
复合赋值运算符的形式为 e1 op= e2,其中 e1 是一个可修改的左值,其类型不是 const 类型,而 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 的常量表达式。如果左操作数是整数类型,则右操作数不能是指针类型。
广告
数据结构
网络
关系数据库管理系统(RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP