社区
C++ 语言
帖子详情
C++输出流的运算顺序
linyongtan_2759
2009-11-22 02:32:04
下面有一个小玩具程序,不过有点不懂,各位朋友帮帮忙解答:
#include<iostream>
int main()
{
int i=0;
std::cout<<i++<<std::ends<<i++<<std::ends<<i++<<std::endl;
return 0;
}
输出结果是:2 1 0
这是为什么呢,为什么不是: 0 1 2 呢?
好像与<<重载有关,但是就是想不明白,各位高手帮忙解析解析吧。
...全文
150
9
打赏
收藏
C++输出流的运算顺序
下面有一个小玩具程序,不过有点不懂,各位朋友帮帮忙解答: #include int main() { int i=0; std::cout<<i++<<std::ends<<i++<<std::ends<<i++<<std::endl; return 0; } 输出结果是:2 1 0 这是为什么呢,为什么不是: 0 1 2 呢? 好像与<<重载有关,但是就是想不明白,各位高手帮忙解析解析吧。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
love0pal
2009-11-25
打赏
举报
回复
c++中的一切储存都和栈有关,栈的规律是先进后出。上面的结果进栈顺序是 0 1 2 出栈顺序和它相反,于是输出的结果就是2 1 0
linyongtan_2759
2009-11-23
打赏
举报
回复
这句话有点意思,很有道理,不过我们把自圆其说的结论变成经验或者自己的规则就可以很好的运用了,没有什么想法一定是对的,不过他毕竟是一个模式,一个属于自己的模式,到时候遇到问题的时候顶多就会出现两种情况:错和对,总是对的话,自圆其说的结论就正确了,错的话在自圆其说啦,发复如此。
giant1st
2009-11-23
打赏
举报
回复
其实cout就是一个类,<<仅仅是它的运算符,当然你可以看做是个 运算符重载的函数,所以 你后面的变量就是函数的实参, 一般的实参(引用除外)是在栈中,所以顺序是逆序。
lovesi3344
2009-11-23
打赏
举报
回复
呵呵
帮你顶上去
[Quote=引用 6 楼 linyongtan_2759 的回复:]
这句话有点意思,很有道理,不过我们把自圆其说的结论变成经验或者自己的规则就可以很好的运用了,没有什么想法一定是对的,不过他毕竟是一个模式,一个属于自己的模式,到时候遇到问题的时候顶多就会出现两种情况:错和对,总是对的话,自圆其说的结论就正确了,错的话在自圆其说啦,发复如此。
[/Quote]
lovesi3344
2009-11-22
打赏
举报
回复
大家的行为叫做
“事后诸葛亮”
“自圆其说”
linyongtan_2759
2009-11-22
打赏
举报
回复
楼上的兄弟,小弟还是不太懂呐,你再说详细一点可以吗?
鸵鸟
2009-11-22
打赏
举报
回复
我来告诉你为什么
std::cout < <i++ < <std::ends < <i++ < <std::ends < <i++ < <std::endl;
等于
operator<<(operator<<(operator<<(cout, i++), i++), i++);
另外打印顺序不等于计算顺序
jackyjkchen
2009-11-22
打赏
举报
回复
看<<(流)的指向,就应该知道从哪边开始计算了
yzx714
2009-11-22
打赏
举报
回复
<<的顺序是从右向左
安卓版的
C++
输出
3进制
顺序
四则
运算
口诀表程序代码.zip
本篇内容将围绕“安卓版的
C++
输出
3进制
顺序
四则
运算
口诀表程序代码.zip”这一特定主题,详细探讨安卓平台上
C++
编程的相关知识点,包括其在移动设备上的应用、3进制数的概念、以及四则
运算
口诀表的程序实现等方面。...
安卓版的
C++
输出
3进制
顺序
四则
运算
口诀表程序代码.txt
安卓版的
C++
输出
3进制
顺序
四则
运算
口诀表程序代码
实现
顺序
表的基本
运算
:初始化、插入、删除、求表的长度、判空、释放。
(2)从标准输入(键盘)逐个数据输入a,b,c,d,e元素 ,建立
顺序
表 (3)
输出
顺序
表L (4)
输出
顺序
表L的长度 (5)判断
顺序
表L是否为空 (6)
输出
顺序
表L的第3个元素 (7)
输出
元素a的位置 (8)在第4个元素...
C++
语言概述 数据的输入与
输出
基本数据类型和表达式
输入
输出
流
包括标准输入
流
、标准
输出
流
和标准错误
流
等。标准输入
流
是从键盘输入的数据
流
,标准
输出
流
是
输出
到显示器的数据
流
,标准错误
流
是
输出
到显示器的错误信息
流
。 基本控制结构 基本控制结构包括
顺序
结构、...
C++
编写一个计算器,实现加减乘除,并且实现简单的混合
运算
(不包括括号
运算
)
代码通过使用`#include<iostream>`和`#include<iomanip>`引入了输入
输出
流
库和格式化
输出
库,这是进行输入
输出
操作的基础。`using namespace std;`则简化了标准命名空间的使用,使代码更简洁。 接下来,程序定义了...
C++ 语言
65,186
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章