我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

«1 2 » Pages: ( 2/2 total )
本页主题: x=x+1,x+=1,x++,为这三个语句的效率排序。并说明为什么。 隐藏签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

richardxx





性别: 保密 状态: 该用户目前不在线
等级: 品行端正
发贴: 193
威望: 0
浮云: 1144
在线等级:
注册时间: 2005-10-01
最后登陆: 2009-02-28

5come5帮你背单词 [ exercise /'eksəsaiz/ a. 锻炼,运动,练习,习题,行使,运用;v. 锻炼,训练,运动;vt. 权力,能力 ]


Quote:
引用第14楼kangtalc于2007-09-19 15:55发表的  :
讨论这个没有什么意义吧,就是看汇编的指令条数就清楚了
x++被翻译为inc指令,所以只有1条
x = x + 1要用一个寄存器来存临时变量,再写回原来的内存,所以应该有几条指令来完成


说法有误哈。。
顶端 Posted: 2007-09-19 16:30 | [15 楼]
albert





性别: 保密 状态: 该用户目前不在线
等级: 栋梁之材
家族: 唯war独尊
发贴: 634
威望: 0
浮云: 1116
在线等级:
注册时间: 2005-10-04
最后登陆: 2012-02-12

5come5帮你背单词 [ imagination /imæd3əi'neiən/ n. 想象,想象力,想象出来的事物 ]


Quote:
引用第14楼kangtalc于2007-09-19 15:55发表的  :
讨论这个没有什么意义吧,就是看汇编的指令条数就清楚了
x++被翻译为inc指令,所以只有1条
x = x + 1要用一个寄存器来存临时变量,再写回原来的内存,所以应该有几条指令来完成

貌似有点问题,对于一些效率高的编译器,以上三条语句都会被优化为inc。
顶端 Posted: 2007-09-22 15:04 | [16 楼]
lvdou





性别: 帅哥 状态: 该用户目前不在线
等级: 希望之光
家族: YD一族
发贴: 1930
威望: 0
浮云: 1181
在线等级:
注册时间: 2006-04-01
最后登陆: 2008-06-21

5come5帮你背单词 [ tourist /'tuərist/ n. 旅游者,观光者 ]


现在的编译器应该不存在这种差别问题吧,编译出来的应该都是一样的
若我离去
后会无期
顶端 Posted: 2007-09-22 15:17 | [17 楼]
降龙使巴掌



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
家族: 考研俱乐部
发贴: 620
威望: 0
浮云: 1105
在线等级:
注册时间: 2007-09-08
最后登陆: 2008-06-30

5come5帮你背单词 [ notion /'nəuən/ n. 概念,意念,想法,见解 ]


这个……

我编C只注重能达到,这个还真没想过,应当差不多吧??

如果是只要加一的话,那X++快吧。
顶端 Posted: 2007-09-22 15:21 | [18 楼]
luwen



性别: 帅哥 状态: 该用户目前不在线
头衔: 无我相
等级: 人见人爱
发贴: 4372
威望: 0
浮云: 1120
在线等级:
注册时间: 2006-09-14
最后登陆: 2013-09-25

5come5帮你背单词 [ mischievous /'mistivəs/ a. 调皮的,恶作剧的 ]


很多都被编译器优化了的
收购KK
飞翔在无边的黑夜里
感受着那份悲凉与寂寞
只为寻找那已遗失的记忆
也许只是心中的幻影
却可能是我的宿命

顶端 Posted: 2007-09-24 12:01 | [19 楼]
jixin96





性别: 帅哥 状态: 该用户目前不在线
等级: 鹤立鸡群
发贴: 1000
威望: 0
浮云: 1216
在线等级:
注册时间: 2007-09-10
最后登陆: 2008-06-29

5come5帮你背单词 [ album /'ælbəm/ n. 相片册,邮票薄 ]


去抓真正的重点,不要去做无谓的东西
顶端 Posted: 2007-09-30 18:53 | [20 楼]
kevinchen007



性别: 帅哥 状态: 该用户目前不在线
等级: 鹤立鸡群
发贴: 1081
威望: 0
浮云: 1403
在线等级:
注册时间: 2007-09-10
最后登陆: 2008-06-28

5come5帮你背单词 [ impose /im'pəuz/ vt. 把…强加于,加重…负担,征收(税款) ]


最正解的是
曾经C语言的开发者认为++效率最高,但是现在的编译器编译后代码是一样的。
x=x+1
x+=1是一样的
顶端 Posted: 2007-10-09 18:58 | [21 楼]
yunyue



性别: 帅哥 状态: 该用户目前不在线
等级: 版主
发贴: 979
威望: 5
浮云: 407
在线等级:
注册时间: 2006-06-18
最后登陆: 2012-06-08

5come5帮你背单词 [ buy /bai/ v. 购买,交易 ]


The C++ Standard Library(99年)中的一段比较 x++ 与 ++x 的内容:
//make all characters in the list uppercase
list<char>::iterator pos;
for (pos = coll.begin(); pos != coll.end(); ++pos) {
*pos = toupper(*pos);
}
Note that the preincrement operator (prefix ++) is used here. This is because it might have better
performance than the postincrement operator. The latter involves a temporary object because it
must return the old position of the iterator. For this reason, it generally is best to prefer ++pos
over pos++. Thus, you should avoid the following version:
for (pos = coll.begin(); pos != coll.end(); pos++) {
                                                            ^^^^^ // OK, but slower
    ...
}
For this reason, I recommend using the preincrement and pre-decrement operators in general.
墨尔本的翡翠 我奋力追,追到没法追,追到没法分清我是谁!
墨尔本的翡翠 我继续追,伤痛亦要追,紧接下去想不想倒退!
顶端 Posted: 2007-10-10 20:15 | [22 楼]
落叶清风



性别: 保密 状态: 该用户目前不在线
头衔: 我真的很瓜?
等级: 人见人爱
家族: YD一族
发贴: 4344
威望: 5
浮云: 1107
在线等级:
注册时间: 2006-10-22
最后登陆: 2016-05-08

5come5帮你背单词 [ procedure /prə'si:d3ə/ n. 手续,步骤,程序 ]


要看用什么编译器了
顶端 Posted: 2007-10-11 20:26 | [23 楼]
calitrean



年度之星奖
性别: 帅哥 状态: 该用户目前不在线
头衔: WCDMA民工Q某 
等级: 成就辉煌
家族: 单身贵族
发贴: 11025
威望: 0
浮云: 2296
在线等级:
注册时间: 2007-01-16
最后登陆: 2023-11-19

5come5帮你背单词 [ high /hai/ a. 高的,在高处的,高级的,高尚的;ad. 高 ]


X=X+1 是先取X的地址,把里面的数据+1后再取X的地址,然后写入;
X+=1 是先取X的地址,把里面的数据+1然后传给原地址;
X++ 是读X地址,直接+1
好象是这样的吧...    
世界很大,大到我无法左右自己的命运
世界又很小,小到我一抬头就看见了你
顶端 Posted: 2007-12-19 20:15 | [24 楼]
«1 2 » Pages: ( 2/2 total )
我来我网·5come5 Forum » 程序员之家

Total 0.009021(s) query 5, Time now is:11-22 15:20, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号