搜索
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ *iter++的问题
标题:
*iter++的问题
只看楼主
qq51099008
等 级:
新手上路
帖 子: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
等 级:
业余侠客
帖 子:103
专家分:280
注 册:2011-5-23
第
2
楼
得分:0
你试试*(p++),看结果不就知道等价不了?
2011-08-20 20:54
xg5699
等 级:
黑侠
帖 子:140
专家分:522
注 册:2011-7-27
第
3
楼
得分: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
3
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-348047-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.140617 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved