【发布时间】:2010-11-28 20:01:07
【问题描述】:
这是我用 QtCreator 制作的一个非常简单的 C++ 应用程序:
int main(int argc, char *argv[])
{
int a = 1;
int b = 2;
if (a < 1 or b > 3)
{
return 1;
}
return 0;
}
对我来说,这不是有效的 C++,因为关键字 or 不是保留关键字。
但是如果我编译并运行它,它可以正常工作,没有任何警告!退出代码为 0,如果我更改 b = 4,退出代码为 1!
我没有包括任何东西来确保没有隐藏的定义。
这对我来说真的很奇怪。这是 Qt 定义的东西吗?我在文档中没有找到任何相关内容。
【问题讨论】:
-
什么意思?或 是 C++ 中的关键字。
-
@MichaelFoukarakis 我认为
well spotted表示问题的why does this code compile?部分:有些编译器需要#include <iso646.h>而有些则不需要。大多数(如果不是全部)IDE 不会突出显示这些新的“关键字”。
标签: c++ or-operator