1

运算符优先级表仅显示按位移位运算符 <<>>. 这些与输出运算符相同,对吧?

事实上,恰好 C++ 重载了这些相同的运算符来表示输入/输出,对吧?这更像是一种传统,而不是更严格的东西,不是吗?

4

1 回答 1

2

我确信使用<<>>作为输出运算符的起源与两件事有关。

  1. 看起来很明智。
  2. 运算符<<and>>不是“常规代码”中常用的。所以它们是可用的。如果他们使用运算符 +、-、* 或 /,那将是一个真正的痛苦,因为您无法编写cout + "The result is : x + y + endl;并获得 x + y 作为输出。它比您写的要少得多cout << "The result is : " << x << y << endl;-在这种情况下,您必须使用括号:cout << "The result is : " << (x << y) << endl;

运算符优先级的顺序由语言定义,无论您如何使用运算符 - 这是您通常不想使用运算符重载来做“奇怪”事情的原因之一 - 因为很容易得到您不想要的东西'真的不期待...

于 2013-01-13T11:04:01.370 回答