[英]bitwise operator variations in C++
我读过C ++为通常的&,|和!提供了其他运算符。 它们分别是“和”,“或”和“不是”,并且在适用的情况下具有自动短路特性。
我想在代码中使用这些运算符,但是编译器将它们解释为标识符并引发错误。
我正在使用带有SP1的Visual C ++ 2008 Express Edition。 如何激活这些运算符以在我的代码中使用?
如果要在MSVC ++中提供运算符的' and
',' or
',' xor
'等关键字版本,则必须使用' /Za
'选项禁用扩展名,或者必须包含iso646.h
。
传统的C ++拼写[*](就像C中一样)是&&
表示“逻辑”,短路和 , ||
对于“逻辑”,短路或 。 !
是“逻辑” 没有 (当然它不会短路?!什么都将意味着 - )。 按位版本是&
, |
, ~
。
根据C ++标准,还应实现您喜欢的拼写( and
, or
,等等),但是显然流行的编译器不遵守该规则。 但是,您应该能够#include <ciso646>
或#include <iso646.h>
通过宏进行破解-请参阅此页面 ,如果您最喜欢的编译器缺少这些头文件,只需以明显的方式创建它们,即,
#define and &&
#define or ||
等等。 (感谢评论者让我更好地研究问题并发现了问题!)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.