C++中的“and”和“&&”有什么区别
最近我发现了一个代码,其中使用了and像&&. 那么它们是相同的还是有任何特定条件可以使用它?
回答
C++ 标准允许令牌 &&与令牌互换使用and。
并非所有编译器都能正确实现这一点(有些根本不打扰;其他编译器需要包含一个特殊的头文件)。因此,代码使用and可以被认为是特殊的。
等价在标记而不是运算符级别的事实意味着,自 C++11(语言获得右值引用符号的地方)以来,您可以安排事情(无需求助于预处理器),使得语句
int and _int(string and vector);
是一个有效的函数原型。(相当于int&& _int(string&& vector).)