【发布时间】:2011-01-24 12:29:00
【问题描述】:
我注意到 C++ 定义了关键字 and、or、not、xor、and_eq、or_eq、not_eq 和 xor_eq 作为 @9876543330@、@9876 的替代@、!、^、&=、|=、!= 和 |=。而且很少使用!怎么了?它们不便携吗?
【问题讨论】:
-
赞成,因为即使这是同一个问题,你的标题对我来说更清楚。 (我偶然发现了
not-关键字,但并不知道它的存在。) -
至少 Visual Studio 2015 CTP 6 不喜欢
or或not。 -
我的一个问题是我永远记不起
and是指&还是&&。那么5 and 6的答案是什么? 4?错了,是1。即使x = 5; x and_eq 6是4。所以我更喜欢&和&&。更加一致。 -
@Mr Lister 强烈反对。当您要处理位时,应使用
&和|,而当您打算编写布尔条件时,应使用and、or和not。生成更多干净的代码 -
@Ichthyo:他有一个有效的论点,即
&=的替代名称应该是bitand_eq而不是and_eq。