赋值运算符

C++中常见赋值及复合赋值运算符整理如下:

运算符名称示例代码说明/等价于常见用途/重载类型
=赋值运算符a = b;赋值,将b的值赋给a所有类型
+=加法赋值a += b;a = a + b;数值、字符串拼接等
-=减法赋值a -= b;a = a - b;数值
*=乘法赋值a *= b;a = a * b;数值
/=除法赋值a /= b;a = a / b;数值
%=取模赋值a %= b;a = a % b;整数
&=按位与赋值a &= b;a = a & b;整数、位运算
|=按位或赋值a |= b;a = a | b;整数、位运算
^=按位异或赋值a ^= b;a = a ^ b;整数、位运算
<<=左移赋值a <<= b;a = a << b;整数、位运算
>>=右移赋值a >>= b;a = a >> b;整数、位运算

说明:
• 这些运算符大多数可以被自定义类型(如类)重载,实现特定的赋值逻辑。
• 复合赋值运算符通常返回对自身的引用(*this),支持链式操作。
• 例如,std::string重载了+=,用于字符串拼接。

示例:

#include <iostream>
#include <string>

int main() {
    // 赋值
    int a = 10;
    int b = 3;
    a = b; // 赋值运算符

    // 复合赋值运算符示例
    a += 5;  // a = a + 5,结果a为8
    a -= 2;  // a = a - 2,结果a为6
    a *= 4;  // a = a * 4,结果a为24
    a /= 6;  // a = a / 6,结果a为4
    a %= 3;  // a = a % 3,结果a为1

    int x = 5;
    int y = 2;
    x <<= y; // x = x << y,结果x为20
    x >>= 1; // x = x >> 1,结果x为10
    x &= 6;  // x = x & 6,结果x为2
    x |= 1;  // x = x | 1,结果x为3
    x ^= 2;  // x = x ^ 2,结果x为1
    
    std::cout << "a: " << a << std::endl;
    std::cout << "x: " << x << std::endl;

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值