Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7764
  • 博文数量: 2
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 30
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-16 18:49
文章分类

全部博文(2)

文章存档

2009年(2)

我的朋友
最近访客

分类: C/C++

2009-07-09 10:34:24

 代码1:

 

代码2:

 

代码1输出:

代码2输出:

 

分析:

cout的输出是先从右往左读入缓冲区,再从左往右输出;
假设a = 1; b = 2; c = 3;
cout<缓冲区:|3|2|1|<- (把“<-”看作是指针)
输出:   |3|2|<- (输出 1) 
       |3|<- (输出 2) 
       <- (输出 3)

代码2中每个(*it++)都会自增1,如下:

cout << "----"<< (*it++) << "````" <<(*it++)<< "++++"
         << (*it++) << "****" <

缓冲区:|****|a|++++|b|````|c|----|<-   当执行第一个(*it++)时,其指向a,执行完后指向b,

                                                                当执行第二个(*it++)时,其指向b,执行完后指向c,这样缓冲区内就一次存储a、b、c

输出:|****|a|++++|b|````|c|<-            输出----  

     |****|a|++++|b|````|<-              输出c

     |****|a|++++|b|<-                   输出````

     ...........

阅读(777) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:第三章字符设备驱动

给主人留下些什么吧!~~