C++写'or'而不是||
C++ writing 'or' instead of ||
可能的重复项:
C++替代代币?
我正在C++和我的一个朋友一起做一项任务,我们一直在他的电脑/环境(带有Eclipse的Macbook Pro)上进行大量编码。在一些代码中,他使用and
和or
而不是&&
和||
编写条件。代码在他的计算机上编译得很好,但是当我尝试在家中的计算机(装有Visual Studio 2010的PC)上编译它时,我遇到编译器错误并被迫切换它们。我的朋友还证明,这种语法在Linux环境中使用emacs/g++是有效的。
我以前从未见过这种事情。这是广泛使用还是被大多数编译器支持?
有一些"替代表示":and
、and_eq
、bitand
、bitor
、compl
、not
、not_eq
、or
、or_eq
、xor
和xor_eq
。 它们是C++的标准语言特征。
Visual C++ 仅当使用 /Za
(标准一致性模式)标志进行编译时,才支持这些关键字。
#include <iso646.h>
它们被称为运算符同义词,它们显然是标准的一部分,但我不确定它们有多广泛支持。
你能在
顶部添加define
s来绕过它吗?
#define and &&
#define or ||
它
要么是由编译器扩展引起的,要么是由源代码中其他地方的#define
引起的,可能是因为iso646.h
define
or
||
,and
&&
。您可能还会看到类似使用 not
代替!
的东西。
如果它是一个编译器扩展,并且您想避免必须通过并将所有or
和and
更改为 ||
和 &&
,只需在顶部添加一些您自己的#define
:
#define or ||
#define and &&
相关文章:
- 瓦尔格林德:数学函数"Conditional jump or move depends on uninitialised value(s)"
- C++核心准则 C35 对于接口类"A base class destructor should be either public and virtual, or protected and nonv
- 使用模板进行堆栈实现; "name followed by :: must be a class or namespace"
- Android NDK clang 编译器错误在 Windows 上显示'No such file or directory'
- 模式"allocate memory or use existing data"
- N-API include an .so or dll
- 已解决 - C++ 的崇高文本中的"fatal error: opencv: no such file or directory"
- 将 OR 逻辑运算符从 C++ 转换为 Fortran
- CPP 中的瓦尔格林德和记忆泄漏:"Conditional jump or move depends on uninitialised values"
- 我如何将 OR 与 if 语句一起使用字符串
- 将 if 语句中的字符与 or 进行比较
- Google Or-Tools Glop:如何创建指向 const 对象的指针数组?
- 当初始值设定项是基类名时'initializer does not name a non-static data member or base class'错误
- "No such file or directory" C++标头问题
- 处理 std::enable_if<...中谓词的逻辑"OR">
- C++ 虽然语句不适用于字符串和"or"
- 我在 #include < bits/stdc++h.> 放置时出错"No such file or directory"
- Python Bitwise OR
- 逻辑'double free or corruption (fasttop)'错误
- 这在C++ "It does not own the underlying data, and so is cheap to copy or assign"中意味着什么