设为首页收藏本站

新微赢技术网

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

[求助]比较时间长短

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-4 01:25:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问这两种定义哪种运行时间较短:(1)int i; i=0; (2) int i=0;
2#
发表于 2009-11-4 01:25:50 | 只看该作者
感觉上是第二种更短吧,,不知道为什么
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-4 01:25:51 | 只看该作者
晕,计算机怎么知道你的感觉啊
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-4 01:25:52 | 只看该作者
我觉得应该是一样的,
int i;
这个语句是在编译时期完成的, 在运行时期两种语句完成的都是为i的内存赋值, 时间应该一样.

再说现在的编译器优化功能这么强应该能识别出这两种语句吧,生成的代码应该是一样的
回复 支持 反对

使用道具 举报

5#
发表于 2009-11-4 01:25:53 | 只看该作者
能不能确切一点啊??有没有人知道啊?那i=i+1和i++ 那个较短呢,时间
回复 支持 反对

使用道具 举报

6#
发表于 2009-11-4 01:25:54 | 只看该作者
阅逡,
明天进来删掉你的这个帖子, 因为你的帖子与编程毫无关系。
回复 支持 反对

使用道具 举报

7#
发表于 2009-11-4 01:25:55 | 只看该作者
既然你这么问
我告诉你吧
第2个短
因为
int i; i =0;
第一个生成
aloc 1; int i
ldc 0; 取0值放入
str x; 堆栈的相对地址

第2个int i=0;
生成

ldc 0;
push ;
或者
aloc 1;
ldc 0;
str x;

第2种的第2个跟第一个一样的 ,属于效率差的,编译器很少生成这样的代码
所以,一般总是初始化快
编译代码大概是这样,你自己编译一下就可以了
但以后最好别问这些了。。(删就删吧说明理由在删吧)
回复 支持 反对

使用道具 举报

8#
发表于 2009-11-4 01:25:56 | 只看该作者
问这样的问题, 就好比在问: 我早上出门是应该左脚先出门还是右脚先出门. 我实在看不出这种问题有什么意义. 该帖子再放一天.  
回复 支持 反对

使用道具 举报

9#
发表于 2009-11-4 01:25:57 | 只看该作者
i=i+1和i++    这个 问的 有意义...
回复 支持 反对

使用道具 举报

10#
发表于 2009-11-4 01:25:58 | 只看该作者
对楼上的观点发表看法:

i = i + 1 和 i++ 这个问的同样没有意义.
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 21:36 , Processed in 0.104588 second(s), 9 queries , Gzip On, Memcache On.

Powered by xuexi

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

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