C++ 之and, and_eq, or, or_eq, xor, xor_eq, not, not_eq操作符

在C++ 有一些不太受关注的关键字,这些关键字也是操作符:

and, and_eq, or, or_eq, xor, xor_eq, not, not_eq, bitand, bitor

and

表示逻辑与操作, 是C++原有操作符 && 的等效替换

bool success1 = execute_some_task();
bool success2 = execute_another_task();
if(success1 and success2)
{
	std::cout << "two tasks have been done successfully" << std::endl;
}

and_eq

表示相与并赋值,等价于 &= 操作符

unsigned char a = 0xFE;
unsigned char b = 0x02;
b and_eq a; // 等价于 b &= a;
std::cout << "new b is " << b << std::endl;

or

逻辑或, 等价于 || 操作符

int year = 2017;
//等价于 bool result = a % 400 == 0 || a % 400 != 0 && a % 4 == 0; 
bool result = a % 400 == 0 or a % 400 != 0 and a % 4 == 0;  

or_eq

相或并赋值,等价于 |= 操作符

unsigned short port = 0x0000;
port or_eq 0xFFEE; //等价于 port |= 0xFFEE;

xor

逻辑异或, 登记于 ^

int a = 0x5A xor 0xCE; //等价于 int a = 0x5A ^ 0xCE;

xor_eq

相异或并赋值

int a = 10;
int b = 15;
a xor_eq b xor_eq a xor_eq b; //等价于 a ^= b ^= a ^=b; 

not

逻辑非, 等价于操作符 !

bool islast = true;
if(not isLast)  //等价于 if(!isLast)
{
	// todo
}

bitand, bitor

与and,or类似,不过是按位操作, bitand等价于& , bitor 等价于 |

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值