在for语句中,++i与i++有什么区别?

xstrivefor 2011-08-29 01:50:43
int i,sum=0;
for(i=0;i<10;++i) sum=sum+i;

int i,sum=0;
for(i=0;i<10;i++) sum=sum+i;
是否有区别?
...全文
218 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
mrenmren3000 2011-08-29
  • 打赏
  • 举报
回复
都一样 编译器会帮你优化很多代码
chen_ya_ping 2011-08-29
  • 打赏
  • 举报
回复
在循环中这样的写法是没有任何的区别的:
比如:
int j=++i
和int j=i++;
这样是有区别的


int j;
i++ 或者是 ++i;
j=i;
这样也是没有任何的区别的。
kkrmr 2011-08-29
  • 打赏
  • 举报
回复
黑色的熊猫 2011-08-29
  • 打赏
  • 举报
回复
++i先加1后再运行;
i++先运行完后再加1;
尘缘udbwcso 2011-08-29
  • 打赏
  • 举报
回复
学习一下
xubin_sh 2011-08-29
  • 打赏
  • 举报
回复
如果是基本类型,如int这样的,那是一样的
如果是iterator,那是++i好
xunxun 2011-08-29
  • 打赏
  • 举报
回复
原来都是++i高效

现在编译器优化都一样了
tompaz 2011-08-29
  • 打赏
  • 举报
回复
没区别,编译器会优化
至善者善之敌 2011-08-29
  • 打赏
  • 举报
回复
++i,效率高点
jackyjkchen 2011-08-29
  • 打赏
  • 举报
回复
理论上,++i少一次对象构建,实际上编译器优化后都一样
zch82624392 2011-08-29
  • 打赏
  • 举报
回复
没区别,只是++i稍微好那么一丁点

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧