gpt4 book ai didi

c++ - C++ 中何时引入了 'and' 和 'or' 替代标记?

转载 作者:IT老高 更新时间:2023-10-28 12:31:57 26 4
gpt4 key购买 nike

我刚刚阅读了这篇 nice piece来自 Reddit。

他们提到 andor&&||

的“替代标记”

直到现在我才真正意识到这些。当然大家都知道di-graphs and tri-graphs , 但是 andor?从何时起?这是该标准的最新新增内容吗?

我刚刚用 Visual C++ 2008 对其进行了检查,它似乎没有将这些识别为语法错误之外的任何内容。怎么回事?

最佳答案

第一个 ISO C++标准C++98,这在2.5/Alternative tokens [lex.digraph]中有描述:


  1. 为某些运算符和标点符号提供了替代标记表示。
  2. 在语言的所有方面,除了拼写之外,每个替代标记的行为都分别与其主要标记相同。表 2 中定义了一组替代标记。
Table 2 - Alternative tokens

alternative primary | alternative primary | alternative primary
--------------------+---------------------+--------------------
<% { | and && | and_eq &=
%> } | bitor | | or_eq |=
<: [ | or || | xor_eq ^=
:> ] | xor ^ | not !
%: # | compl ~ | not_eq !=
%:%: ## | bitand & |

所以它从 C++ 标准化过程的早期就已经存在。很少有人知道它的原因可能是因为主要用例是针对在不一定可用完整字符集的环境中操作的人。例如(这让我内存犹新),IBM 大型机上的基线 EBCDIC 字符集没有方括号字符 []

关于c++ - C++ 中何时引入了 'and' 和 'or' 替代标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/555505/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com