这是我见过的唯一一个地方and,or并被not列为C++中的实际运算符.当我在NetBeans中编写一个测试程序时,我得到了红色下划线,好像有一个语法错误,并认为该网站是错误的,但它是错误的NetBeans,因为它编译并按预期运行.
我可以看到!受到青睐,not但and&& 的可读性or似乎比他们的语法兄弟更大.为什么这些版本的逻辑运算符存在,为什么看似没有人使用它?这是真正有效的C++还是与语言中包含的C的某种兼容性?
这是我用QtCreator创建的一个非常简单的C++应用程序:
int main(int argc, char *argv[])
{
int a = 1;
int b = 2;
if (a < 1 or b > 3)
{
return 1;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
对我来说,这不是有效的C++,因为关键字或不是保留关键字.
但是如果我编译并运行它,它没有任何警告就可以正常工作!退出代码为0,如果我改变b = 4,则退出代码为1!
我没有包括任何东西,以确保没有隐藏的定义.
这对我来说真的很奇怪.这是Qt定义的东西吗?我在文档中没有找到任何相关内容.
可能重复:
C++和,或者不是,xor关键字
我认为标题是这样,但要扩大一点:
有没有办法替换&&和|| 代码中的运算符带有"AND"和"OR".它使它更具可读性,因为我是唯一一个在项目上工作的人,我很好奇这是否可以做到.这种方式而不是写作
if(is_close_enough(enemy) && attackReady(attack))
我可以用
if(is_close_enough(enemy) AND attackReady(attack))
我使用VS2010作为我的IDE,使用C++作为我的语言.
谢谢您的帮助