c++赋值运算的复合表达式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在C++中,复合赋值运算符是一种便捷的方式来组合赋值和算术或位运算。
复合赋值运算符如+=, -=, *=, /=, %=, &=, |=, ^=, <<=, 和>>=等,它们可以简化代码并提高可读性。
这里有一些复合赋值运算符的示例:
cpp复制代码
int a = 5;
int b = 10;
// 使用复合赋值运算符 +=
a += 3; // a = a + 3; 现在 a是8
// 使用复合赋值运算符 -=
b -= 5; // b = b - 5; 现在b是5
// 使用复合赋值运算符 *=
a *= 2; // a = a * 2; 现在a是16
// 使用复合赋值运算符 /=
b /= 2; // b = b / 2; 现在b是2
// 使用复合赋值运算符 %=
a %= 3; // a = a % 3; 现在a是1,因为16除以3的余数是1
// 使用复合赋值运算符 &=
int c = 60; // 二进制表示为 0011 1100
int d = 13; // 二进制表示为 0000 1101
c &= d; // c = c & d; 现在c是12,因为0011 1100 & 0000 1101 = 0000
1100,这在十进制中等于12
// 使用复合赋值运算符 |=
c |= d; // c = c | d; 现在c是61,因为0011 1100 | 0000 1101 = 0011
1101,这在十进制中等于61
// 使用复合赋值运算符 ^=
c ^= d; // c = c ^ d; 现在c是49,因为0011 1101 ^ 0000 1101 = 0011
0000,这在十进制中等于49
// 使用复合赋值运算符 <<=
c <<= 2; // c = c << 2; 现在c是196,因为0011 0000 << 2 = 1100 0000,
这在十进制中等于196
// 使用复合赋值运算符 >>=
c >>= 2; // c = c >> 2; 现在c是49,因为1100 0000 >> 2 = 0011 0000,
这在十进制中等于49
这些复合赋值运算符都可以使代码更简洁,可读性更强。
同时,它们也通常比相应的赋值和算术或位运算组合更快,因为编译器通常会对它们进行优化。