| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 393 人关注过本帖
标题:*iter++的问题
只看楼主 加入收藏
qq51099008
Rank: 1
等 级:新手上路
帖 子:16
专家分:8
注 册:2011-8-4
结帖率:100%
收藏
 问题点数:0 回复次数:2 
*iter++的问题
为啥C++primer上说的
*iter++等效于*(iter++)

但是实际写段代码
    int x[]={1,2,3,4};
    int *p=x;
    cout<<*p++;
的输出结构是1而不是2
cout<<*++p的结果才是2

难道是我理解错了书上说的?
搜索更多相关主题的帖子: 结构 
2011-08-20 20:45
naruto01
Rank: 4
等 级:业余侠客
帖 子:103
专家分:280
注 册:2011-5-23
收藏
得分:0 
你试试*(p++),看结果不就知道等价不了?
2011-08-20 20:54
xg5699
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:140
专家分:522
注 册:2011-7-27
收藏
得分:0 
不是指针问题,是前置自加的问题

j++是先返回j后自加 属于前置自加
++j是先自加后返回j 属于后置自加
两者的主要区别在于返回值
比如
int j=0,a=0;
a=++j;
那么a是1,j也是1;
a=j++;
那么a是0,但j的值也是1
也就是说无论++j或者j++ j的值始
终会是j=j+1的结果;
指针也是一样的道理

都不结贴我郁闷那!
2011-08-20 22:53
快速回复:*iter++的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.058983 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved