繁体   English   中英

C ++中按位运算符的变化

[英]bitwise operator variations in C++

我读过C ++为通常的&,|和!提供了其他运算符。 它们分别是“和”,“或”和“不是”,并且在适用的情况下具有自动短路特性。

我想在代码中使用这些运算符,但是编译器将它们解释为标识符并引发错误。

我正在使用带有SP1的Visual C ++ 2008 Express Edition。 如何激活这些运算符以在我的代码中使用?

如果要在MSVC ++中提供运算符的' and ',' or ',' xor '等关键字版本,则必须使用' /Za '选项禁用扩展名,或者必须包含iso646.h

传统的C ++拼写[*](就像C中一样)是&&表示“逻辑”,短路|| 对于“逻辑”,短路 ! 是“逻辑” 没有 (当然它不会短路?!什么都将意味着 - )。 按位版本是&| ~

根据C ++标准,还应实现您喜欢的拼写( andor ,等等),但是显然流行的编译器不遵守该规则。 但是,您应该能够#include <ciso646>#include <iso646.h>通过宏进行破解-请参阅此页面 ,如果您最喜欢的编译器缺少这些头文件,只需以明显的方式创建它们,即,

#define and &&
#define or ||

等等。 (感谢评论者让我更好地研究问题并发现了问题!)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM