【发布时间】:2021-02-08 17:14:53
【问题描述】:
<< 和 >> 运算符在 C++ 中有两个含义,位移和流操作。当含义从上下文中不明显时,编译器如何解决这种歧义?以这一行为例:
std::cout << 1 << 2 << std::endl;
输出是12,好像第二个<< 被视为流插入,还是4,好像第二个<< 被视为位移?
【问题讨论】:
-
相关:运算符优先级不受运算符重载的影响。因此,与
<<相同的优先规则只有一种解释。