猿问
下载APP

在C ++中引入'和'和'或'替代令牌是什么时候?

在C ++中引入'和'和'或'替代令牌是什么时候?

我刚读过Reddit的这篇精彩文章

他们提到and,并or成为“替代令牌”,以&&||

到目前为止我真的没有意识到这些。当然,每个人都知道的二图和三图表,但andor?从何时起?这是标准的最新成员吗?

我刚刚使用Visual C ++ 2008进行了检查,它似乎并没有将这些视为语法错误。这是怎么回事?


繁星淼淼
浏览 32回答 3
3回答

慕神8447489

仅当您使用/Za禁用扩展的选项时,MSVC才支持它们作为关键字; 这至少从VC7.1(VS2003)开始。您可以通过包含来支持它们作为宏iso646.h。我的猜测是他们认为默认情况下将它们设为关键字会破坏现有代码(如果它们是正确的话我也不会感到惊讶)。几个星期前在这里的一个问题上讨论了这个问题,但是我无法通过SO的搜索或谷歌找到该死的东西。

慕田峪9158850

从C ++ 11标准来看,2.6/ Alternative tokens:为某些运算符和标点符号提供了替代标记表示。在语言的所有方面,除了拼写之外,每个备选令牌的行为分别与其主令牌相同。表2中定义了替代令牌集。表2 - 替代代币alternative primary | alternative primary | alternative primary--------------------+---------------------+--------------------&nbsp; &nbsp;<%&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; |&nbsp; &nbsp; and&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&&&nbsp; &nbsp;|&nbsp; &nbsp; and_eq&nbsp; &nbsp; &nbsp; &=&nbsp; &nbsp;%>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; |&nbsp; &nbsp; bitor&nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; |&nbsp; &nbsp; or_eq&nbsp; &nbsp; &nbsp; &nbsp;|=&nbsp; &nbsp;<:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [&nbsp; &nbsp; |&nbsp; &nbsp; or&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ||&nbsp; &nbsp;|&nbsp; &nbsp; xor_eq&nbsp; &nbsp; &nbsp; ^=&nbsp; &nbsp;:>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ]&nbsp; &nbsp; |&nbsp; &nbsp; xor&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^&nbsp; &nbsp; |&nbsp; &nbsp; not&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;!&nbsp; &nbsp;%:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #&nbsp; &nbsp; |&nbsp; &nbsp; compl&nbsp; &nbsp; &nbsp; &nbsp;~&nbsp; &nbsp; |&nbsp; &nbsp; not_eq&nbsp; &nbsp; &nbsp; !=&nbsp; &nbsp;%:%:&nbsp; &nbsp; &nbsp; &nbsp; ##&nbsp; &nbsp;|&nbsp; &nbsp; bitand&nbsp; &nbsp; &nbsp; &&nbsp; &nbsp; |

幕布斯5086720

要真正回答这个问题:它们是在第一个C ++标准中定义的。
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答