for() 中的 ++i 和i++ 有没有区别?
来源:百度知道 编辑:UC知道 时间:2024/05/09 20:56:53
for (M = Mi.begin(); M!=Mi.end(); ++M) 和 for (M = Mi.begin(); M!=Mi.end(); M++) 有没有区别?
这是STL里面的迭代器么,区别是很大的。
代码实现完全不同。
根据 ++M 和 M++ 的语义。
M++比++M多了一个保存原值的步骤。
M++的效率更加的低下,消耗的资源更加的多。
所以推荐使用 ++M。
如果只是int型的自增,编译器会做出优化处理,最终产生的代码将是一样的。所以++i和i++在for里面同效。
假设M=0
for (M = Mi.begin(); M!=Mi.end(); ++M) 这里M是=1来判断.
for (M = Mi.begin(); M!=Mi.end(); M++)这里M是=0来判断的.
在for循环中一点区别都没有,你可以放心的写.这两种写法的结果是一样的
只有 本物粽子 的说法比较让人信服一点。
肯定有区别的了
i++是对变量i操作之后在自加
++i是在操作之前就自加
在for中没有区别,在其他地方就有区别,区别就是楼上所说的。
for() 中的 ++i 和i++ 有没有区别?
javascript中的for(i=0;i<5;i++)和for(i=0;i<5;++i)区别
++i和i++在for中的区别
for(i=1;i<10;i++)和for(i=1;i<10;++i)是不是都一样
for(i=0;i<5;i++) {...} 和 for(i=0;i<5;++i) {...}有区别吗?
i for you 是哪首歌中的歌词啊?
i++用于for()语句中的一个疑问
汉语拼音中的“-i”和“ -i”怎么读?
I do it for you和Everything i do
c语言里 for(i=1;i<=n;i++)和for(i=1;i<=n;++i)结果一样吗?