或者我们都坚持我们的教学"&&,||,!" 办法?
我们为什么要使用其中一个的任何想法?
我只是想知道,因为有几个答案说明代码应该尽可能自然,但是我没有看到很多带有"and,or,not"的代码,而这更自然.
Gre*_*ill 19
我喜欢not操作员的想法,因为它比!操作员更明显.例如:
if (!foo.bar()) { ... }
if (not foo.bar()) { ... }
Run Code Online (Sandbox Code Playgroud)
我建议第二个更明显和可读.不过,我不认为同样的论点必然适用于and和or形式.
使用它们的一个问题(无论如何)是在MSVC中你必须包括iso646.h或使用(主要是不可用的)/ Za开关.
我遇到的主要问题是它们不常用的Catch-22,所以它们需要我的大脑积极处理意义,老式的操作者或多或少根深蒂固(有点像阅读之间的区别学习语言与母语相比.
虽然我确信如果他们的使用变得更加普遍,我会克服这个问题.如果发生了这种情况,那么我就会遇到一些布尔运算符有关键字但有些没有关键字的问题,所以如果使用了替代关键字,你可能会看到如下表达式:
if ((x not_eq y) and (y == z) or (z <= something)) {...}
Run Code Online (Sandbox Code Playgroud)
在我看来,他们应该为所有(至少比较)运营商提供替代令牌:
if ((x not_eq y) and (y eq z) or (z lt_eq something)) {...}
Run Code Online (Sandbox Code Playgroud)
这是因为提供备用关键字(以及有向图和三角形)的原因不是为了使表达式更具可读性 - 这是因为历史上某些地方已经存在(可能仍然是)键盘和/或代码页而没有某些标点字符.例如,ISO 646代码页(惊喜)的不变部分缺少|",",^"和~"等字符.
虽然我从很长一段时间以来一直在编写C++,但我不知道关键字"and""或"和"not"是允许的,我从未见过它.
我搜索了我的C++书籍,我发现了一小部分提到正常运算符的替代表示"&&","||" 和"!",它解释了那些没有"&!|"的非标准键盘的用户 符号.
有点像C中的三字母.
基本上,我会对它们的使用感到困惑,我想我不会是唯一的.使用非标准的表示,应该有充分的理由使用.如果使用,它应该在代码中一致地使用,并在编码标准中描述.