运算符优先级表仅显示按位移位运算符 <<
和>>
. 这些与输出运算符相同,对吧?
事实上,恰好 C++ 重载了这些相同的运算符来表示输入/输出,对吧?这更像是一种传统,而不是更严格的东西,不是吗?
运算符优先级表仅显示按位移位运算符 <<
和>>
. 这些与输出运算符相同,对吧?
事实上,恰好 C++ 重载了这些相同的运算符来表示输入/输出,对吧?这更像是一种传统,而不是更严格的东西,不是吗?
我确信使用<<
和>>
作为输出运算符的起源与两件事有关。
<<
and>>
不是“常规代码”中常用的。所以它们是可用的。如果他们使用运算符 +、-、* 或 /,那将是一个真正的痛苦,因为您无法编写cout + "The result is : x + y + endl;
并获得 x + y 作为输出。它比您写的要少得多cout << "The result is : " << x << y << endl;
-在这种情况下,您必须使用括号:cout << "The result is : " << (x << y) << endl;
运算符优先级的顺序由语言定义,无论您如何使用运算符 - 这是您通常不想使用运算符重载来做“奇怪”事情的原因之一 - 因为很容易得到您不想要的东西'真的不期待...