新微赢技术网
标题:
[求助]"++ix"真的是指在使用前自增吗?
[打印本页]
作者:
天之骄灵
时间:
2009-11-4 00:00
标题:
[求助]"++ix"真的是指在使用前自增吗?
我是初学者,正在学习vector时突然对例子中的++ix产生了疑问,如下所示,我的理解是第一次执行此循环时第二行的ix具体值应该是1,因为我对++ix理解就是在任何语句使用它之前先自增。但是这个例子的目的明明是把一个数组的值赋给另一个数组,难道下标为0的第一个元素被略过了吗?我想肯定是自己没有搞清某些东西,希望大家能够给些意见,谢谢。
for ( int ix = 0; ix < elem_size; ++ix )
ia[ ix ] = ivec[ ix ];
作者:
祗↘爲.輝仔
时间:
2009-11-4 00:00
那你对for循环没有搞清楚
作者:
逍遥◆爱你
时间:
2009-11-4 00:00
for中几乎没有区别,因为它的执行顺序for(partA;partB;partC)
首先partA
然后每次循环之前先partB
循环之后partC
相当于for(int i=0;i<size;){
...
i++/++i; //在最后都一样
}
这样就不难理解了吧
++i和i++只是效率不同,++i的效率应该更高点
作者:
藤蘿下的陽光
时间:
2009-11-4 00:00
++i 是左值
i++ 是右值
作者:
ㄣ紸縡のoァ
时间:
2009-11-4 00:00
原来是这样,谢谢各位,弄明白了。
作者:
亚提斯
时间:
2009-11-4 00:00
以下是引用虫虫飞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;
}
欢迎光临 新微赢技术网 (http://bbs.weiying.cn/)
Powered by Discuz! X3.2