rhi*_*ino 24 c++ standards operators
我习惯了C++中的and和or关键字.我总是使用它们,打字它们对我来说既快又舒服.一旦我听说这些别名是非标准的,可能不适用于所有编译器.但我不确定,我真的不知道这是不是真的.
我们假设我给某人代码,编译时会有问题吗?
可以吗,当我用and,or而不是&&,||?或者这些关键字真的不标准吗?
PSI使用MinGW编译器.
In *_*ico 28
它们实际上是C++中的标准,正如ISO 14882:2003 C++标准2.5/2所定义的那样(实际上,正如1998年版标准所定义的那样).请注意,它们内置于语言本身,并不要求您包含某种类型的头文件.
但是,它们很少使用,我还没有看到实际使用替代令牌的生产代码.替代令牌首先存在的唯一原因是因为某些键盘上的这些字符(特别是非QWERTY键盘)要么不存在要么笨拙要键入.它仍然是向后兼容性的标准.
即使它们是标准的,我强烈建议您不要使用它们.替代标记需要输入更多字符,QWERTY键盘布局已经具有输入C++代码所需的所有字符,而无需使用替代标记.此外,他们很可能会对您的代码感到困惑.
2.5/2替代代币
在语言的所有方面,除了拼写之外,每个备选令牌的行为分别与其主令牌相同.表2中定义了替代令牌集.
Table 2 - alternative tokens
+--------------+-----------+
| Alternative | Primary |
+--------------+-----------+
| <% | { |
| %> | } |
| <: | [ |
| :> | ] |
| %: | # |
| %:%: | ## |
| and | && |
| bitor | | |
| or | || |
| xor | ^ |
| compl | ~ |
| bitand | & |
| and_eq | &= |
| or_eq | |= |
| xor_eq | ^= |
| not | ! |
| not_eq | != |
+--------------+-----------+
它们是新c ++ 0x标准的标准配置.最新的现代编译器应该认识到它们,尽管我认为它们还没有义务.无论你的船是什么漂浮,我都认为.