输入/输出操作符的优先级
The precedence of the input/output operators
运算符优先表仅显示位移位运算符 <<
和>>
。这些和输出运算符是一样的,对吧?
实际上,c++恰好重载了这些相同的操作符来表示输入/输出,对吧?这更像是一种传统,而不是更严格的规定,不是吗?
我确信使用<<
和>>
作为输出操作符的起源与两件事有关。
- 看起来很合理。
- 操作符
<<
和>>
在"常规代码"中并不常用。所以它们是可用的。如果他们使用运算符+,-,*或/,这将是一个真正的痛苦,因为你不能写cout + "The result is : x + y + endl;
并得到x + y作为输出。它比你写cout << "The result is : " << x << y << endl;
要少得多——在这种情况下,你必须使用括号:cout << "The result is : " << (x << y) << endl;
操作符优先级的顺序是由语言定义的,无论你如何使用操作符——这是你不想使用操作符重载来做"奇怪"事情的一个原因——因为它很容易得到一些你意想不到的东西……
相关文章:
- C++优先级队列,按对象的唯一指针的特定方法升序排列
- 按对象的特定方法按升序排列的C++优先级队列
- 使用2个键的cpp-stl::优先级队列排序不正确
- 为什么我需要C++中不同的排序格式来对这个USACO代码上的数组和优先级队列进行排序
- 打印优先级队列
- 带自定义比较器的最小优先级队列
- 优先级队列自定义比较器
- 排序数组优先级队列
- 更改运行时优先级队列的排序功能
- 优先级队列构造函数的工作
- 实现优先级队列
- 优先级队列功能比较
- C++ 带有函数指针的运算符优先级
- 将更高的优先级设置为 boost::asio 线程处理进程
- 位操作符的优先级对输出的影响
- 逗号操作符优先级,当使用?:运营商
- 序列点和操作符优先级之间的差异?0 _o
- 这个优先级操作符是如何工作的
- 元操作符..的优先级是什么?
- 输入/输出操作符的优先级