为什么--n要比n--好呢?

party9ly 2005-10-20 11:20:54
在实现n=n-1时,为什么--n要比n--好呢?
...全文
196 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hmf3000 2005-10-22
  • 打赏
  • 举报
回复
编译,汇编语句越多,效率越低
bombwang 2005-10-22
  • 打赏
  • 举报
回复
学习
北极猩猩 2005-10-22
  • 打赏
  • 举报
回复
编译,汇编语句越多,效率越低

这个并不一定,不同的指令的CPU周期是不同的,可能指令数量多执行速度反而会更快。
kaoyan2005 2005-10-21
  • 打赏
  • 举报
回复
q 我想是一个样子的,
jsjjms 2005-10-21
  • 打赏
  • 举报
回复
你可以看看--重载的代码,
n--产生的结果和--n是不一样的。
n--会是使用中间变量来传值,
--n不会。

但很多编译器(e.g. vc 7.0)会优化的。
gamelearner 2005-10-21
  • 打赏
  • 举报
回复
比较while(--n != 0);和while(n-- != 0);
你希望推出循环时n是多少呢?是0吗?
前者推出循环时n为0,而后者推出循环时n为-1;
显然后者较容易出错,所以还是--n好一点!
Camelh 2005-10-21
  • 打赏
  • 举报
回复
可能是n--先取n的值,所以要创建一个临时变量来存放表达式的值,然后再对n减1,
而--n是先对n减1后,再取得整个表达式的值,所以不用创建一个临时变量的操作!
上面的推测不一定正确,高手们请指正!
party9ly 2005-10-21
  • 打赏
  • 举报
回复
因为n--比--n多了一次操作?为啥多了一次操作呢?
qhfu 2005-10-20
  • 打赏
  • 举报
回复
大多数情况是 --n比n--好,因为后面通常由前面实现的,但是有时也是效率一样的,编译器会优化掉。
Pigwen 2005-10-20
  • 打赏
  • 举报
回复
老大,10分也是分嘛,怎么那么吝啬。
因为n--比--n多了一次操作。

64,687

社区成员

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

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