【问题标题】:Why do we use && and || while "and" and "or" also work? [duplicate]为什么我们使用 && 和 ||而“and”和“or”也有效? [复制]
【发布时间】:2021-06-25 17:33:05
【问题描述】:

我总是使用“and”和“or”,但在大学时我学会了我们应该使用 && 和 ||...

【问题讨论】:

  • 我遇到过编译器无法识别andor 的实例。但是,&&||始终被编译器识别(尤其是当您有必须使用旧编译器编译的旧代码时)。
  • 并非所有编译器都正确支持andor。我个人认为这样的代码是特殊的,但随着 Python 的出现,这可能会消失。我还发现or 并不能真正区分|||
  • 搜索&&|| 会减少很多误报。
  • 它们之间没有区别。虽然习惯使用&&||,所以我建议你习惯它。
  • @Bathsheba 既不是 AND,顺便说一句 - 所有这些符号名称都无法传达操作的性质 - 无论是按位还是逻辑。我倾向于认为它们是不好的影响(我怀疑现在真的有人在使用不支持特殊符号的符号页面)。

标签: c++ codeblocks


【解决方案1】:

这与字符编码有关,源代码可能不是以任何非 ASCII 7 位字符(例如:ISO 646:1983)编写的,并且与使用此运算符的代码兼容。

参考:

【讨论】:

  • 我喜欢这个答案。虽然它没有直接回答“为什么”这个问题,但它使读者能够做出自己的预测。
  • 如果你的源字符集没有&,那么你所有的引用和指针都会受到伤害。
  • @BenVoigt 为什么? bitend 会起作用。
  • @SergeyA:你的意思是bitand?但是,虽然它可能会让词法分析器高兴,但它在语义上是不正确的,并且会给使用该代码的任何人带来精神痛苦。
  • @BenVoigt 当然,bitand。我并不是说以这种方式编写代码是一种受欢迎的做法,我只是说引用和指针会继续存在。
猜你喜欢
  • 2011-07-29
  • 2011-03-10
  • 2011-01-02
  • 2021-01-01
  • 2017-11-11
  • 2013-01-01
  • 2013-10-12
  • 2020-07-11
  • 1970-01-01
相关资源
最近更新 更多