设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 1711|回复: 5
打印 上一主题 下一主题

[求助]"++ix"真的是指在使用前自增吗?

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-4 00:00:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我是初学者,正在学习vector时突然对例子中的++ix产生了疑问,如下所示,我的理解是第一次执行此循环时第二行的ix具体值应该是1,因为我对++ix理解就是在任何语句使用它之前先自增。但是这个例子的目的明明是把一个数组的值赋给另一个数组,难道下标为0的第一个元素被略过了吗?我想肯定是自己没有搞清某些东西,希望大家能够给些意见,谢谢。

for ( int ix = 0; ix < elem_size; ++ix )
ia[ ix ] = ivec[ ix ];
2#
发表于 2009-11-4 00:00:15 | 只看该作者
那你对for循环没有搞清楚
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-4 00:00:16 | 只看该作者
for中几乎没有区别,因为它的执行顺序for(partA;partB;partC)

首先partA

然后每次循环之前先partB
循环之后partC

相当于for(int i=0;i<size;){
...
i++/++i; //在最后都一样
}
这样就不难理解了吧
++i和i++只是效率不同,++i的效率应该更高点
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-4 00:00:17 | 只看该作者
++i 是左值
i++ 是右值
回复 支持 反对

使用道具 举报

5#
发表于 2009-11-4 00:00:18 | 只看该作者
原来是这样,谢谢各位,弄明白了。
回复 支持 反对

使用道具 举报

6#
发表于 2009-11-4 00:00:20 | 只看该作者
以下是引用虫虫飞ya飞在2006-9-18 10:48:22的发言:

for中几乎没有区别,因为它的执行顺序for(partA;partB;partC)

首先partA

然后每次循环之前先partB
循环之后partC

相当于for(int i=0;i<size;){
...
i++/++i; //在最后都一样
}
这样就不难理解了吧
++i和i++只是效率不同,++i的效率应该更高点
谁说的??真的??




part A;
while(part B)
{
part C;
}
昨天刚要发,停电了/.......
上面相当于
int i=0;
while(i<size)
{
..........
++i;
}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 16:46 , Processed in 0.094645 second(s), 9 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表