你可以用引号中的bitand替换吗?

cel*_*chk 9 c++ syntax c++11

在C++中,我们可以and为for &&,orfor ||,bitandfor &bitorfor 编写|.

现在我不知道是否andbitand是唯一有效,其中的经营者是指,或者也可以在那里引用的定义(G ++ 4.6.3接受bitand的引用-右值引用似乎并没有在该版本中得到支持-但当然这可能只是编译器不抓住错误).

简而言之:以下代码是否有效C++?

int and x = 3;

int a;
int bitand y = a;
Run Code Online (Sandbox Code Playgroud)

当然我永远不会写这样的代码(除非参与混淆的代码竞赛),但它实际上是否有效?

Ker*_* SB 11

根据C++ 11,2.6/4:

在语言的所有方面,每个备选令牌的行为分别与其主令牌相同

所以int and a = 5;完全有效,但也非常疯狂.


更多例子:

struct ete
{
    compl ete();
    int egr()and;
};
Run Code Online (Sandbox Code Playgroud)