以下代码:myQueue.enqueue('a');myQueue.enqueue('b');cout << myQueue.dequeue() << myQueue.dequeue();将“ba”打印到控制台同时:myQueue.enqueue('a');myQueue.enqueue('b');cout << myQueue.dequeue();cout << myQueue.dequeue();指纹“ab”为什么是这个?似乎cout首先调用了最外层(最接近;)的函数,并以自己的方式工作,这是它的行为方式吗?
3 回答
RISEBY
TA贡献1856条经验 获得超5个赞
<<
dequeue
dequeue
<<
<<
auto tmp2 = myQueue.dequeue();auto tmp1 = myQueue.dequeue();std::ostream& tmp3 = cout << tmp1;tmp3 << tmp2;
auto tmp1 = myQueue.dequeue();auto tmp2 = myQueue.dequeue();std::ostream& tmp3 = cout << tmp1;tmp3 << tmp2;
auto tmp1 = myQueue.dequeue();std::ostream& tmp3 = cout << tmp1;auto tmp2 = myQueue.dequeue();tmp3 << tmp2;
cout << myQueue.dequeue() << myQueue.dequeue();
| | | | |
| |____ tmp1 _____| |_____ tmp2 ____|
| |
|________ tmp3 _________|
倚天杖
TA贡献1828条经验 获得超3个赞
cout << myQueue.dequeue() << myQueue.dequeue();
operator<<
operator<<( operator<<( cout, myQueue.dequeue() ), myQueue.dequeue() );-------------------- 1---------2
cout
, myQueue.dequeue()
operator<<
1
2
神不在的星期二
TA贡献1963条经验 获得超6个赞
- 3 回答
- 0 关注
- 565 浏览
添加回答
举报
0/150
提交
取消