w***z 发帖数: 1848 | |
N******p 发帖数: 2777 | |
R***a 发帖数: 41892 | 3 写basic会更快些。
用c还是无用代码多了,对这种小程序
【在 w***z 的大作中提到】 : 小时候淘气的程序员会得到它
|
F*********u 发帖数: 12190 | |
r*********e 发帖数: 29495 | 5 请把底层的也实现一下吧
【在 w***z 的大作中提到】 : 小时候淘气的程序员会得到它
|
h********8 发帖数: 7355 | 6 cobol程序员
【在 N******p 的大作中提到】 : count不是从0开始。不是个像样的C程序员。
|
a****e 发帖数: 9589 | 7 Python, 一句话
【在 R***a 的大作中提到】 : 写basic会更快些。 : 用c还是无用代码多了,对这种小程序
|
w*********a 发帖数: 9279 | 8 写count++, 而不是 ++count。 说明不是牛逼人。 |
R***a 发帖数: 41892 | 9 这俩效率不一样么。
以前我爱写++i,现在爱写i++
【在 w*********a 的大作中提到】 : 写count++, 而不是 ++count。 说明不是牛逼人。
|
t****r 发帖数: 784 | 10 为什么没有换行?
【在 w***z 的大作中提到】 : 小时候淘气的程序员会得到它
|
|
|
d********f 发帖数: 43471 | 11 可惜升级一次就要重写一次
【在 a****e 的大作中提到】 : Python, 一句话
|
n***d 发帖数: 8857 | 12 make it simpler
main(){
for (int i=0; i++ < 500; printf("...")){}
}
【在 w***z 的大作中提到】 : 小时候淘气的程序员会得到它
|
b***u 发帖数: 12010 | 13 i++太浪费了。该用++i
【在 w***z 的大作中提到】 : 小时候淘气的程序员会得到它
|
c*********k 发帖数: 20696 | 14 你们都在说什么?
【在 b***u 的大作中提到】 : i++太浪费了。该用++i
|
s****i 发帖数: 2993 | 15 perl people are laughing at you.
【在 a****e 的大作中提到】 : Python, 一句话
|
s****l 发帖数: 10462 | 16 perl -e 'print "Whatever you want to print\n"x500'
再怎么升级这个向下都要兼容的
【在 d********f 的大作中提到】 : 可惜升级一次就要重写一次
|
w*********a 发帖数: 9279 | 17 不一样。
++i只写一次内存, i++写了2次。
i如果是个 object, 差距就更大了。
【在 R***a 的大作中提到】 : 这俩效率不一样么。 : 以前我爱写++i,现在爱写i++
|
R***a 发帖数: 41892 | 18 现在的编译器没那么二吧。
一看上下文不需要整个表达式的值,直接就忽略啊。
就算需要表达式的值
那也一个是
++i:
mov ax, [memoryi]
inc ax
mov [memoryi], ax
mov [memoryt] ax
另外一个是
i++
mov ax, [memoryi]
mov [memoryt], ax
inc ax
mov [memoryi], ax
【在 w*********a 的大作中提到】 : 不一样。 : ++i只写一次内存, i++写了2次。 : i如果是个 object, 差距就更大了。
|
r********d 发帖数: 7742 | 19 take it easy, man!
【在 w*********a 的大作中提到】 : 不一样。 : ++i只写一次内存, i++写了2次。 : i如果是个 object, 差距就更大了。
|
l****g 发帖数: 761 | 20 早就被 compiler 优化了
还争什么 i++ 和 ++i |
|
|
R***a 发帖数: 41892 | 21 这种短循环搞不好编译器就直接assgin一个寄存器专门给循环变量了
【在 l****g 的大作中提到】 : 早就被 compiler 优化了 : 还争什么 i++ 和 ++i
|
a*o 发帖数: 19981 | 22 for loop没有包在括号里,不是个做product的程序员,只能搞搞prototype或者在学校
混日子。
【在 N******p 的大作中提到】 : count不是从0开始。不是个像样的C程序员。
|
a*o 发帖数: 19981 | 23 Python就是一堆蛋疼的hacker捯饬出来的语言。
【在 a****e 的大作中提到】 : Python, 一句话
|
f*******y 发帖数: 2368 | 24 by Bjarne Stroustrup书
中的for loop就常用i++(p54, p92, p94, p100...)。当然你可以
认为Bjarne Stroustrup不是牛逼人,尽管可能同意你的观点的人不会
很多。。。
【在 w*********a 的大作中提到】 : 写count++, 而不是 ++count。 说明不是牛逼人。
|
h*****0 发帖数: 4889 | 25 i++是让机器适应人,++i是让人适应机器。
【在 f*******y 的大作中提到】 : by Bjarne Stroustrup书 : 中的for loop就常用i++(p54, p92, p94, p100...)。当然你可以 : 认为Bjarne Stroustrup不是牛逼人,尽管可能同意你的观点的人不会 : 很多。。。
|
d*******n 发帖数: 524 | 26 这个是C++里面经典的“茴香豆的茴字有四种写法”的问题。
我以前面试就被问过,我一口咬定没区别,结果别人暗示我错了。
估计半吊子程序员最喜欢问这个。科班出身的估计不会问这种问题。
【在 w*********a 的大作中提到】 : 写count++, 而不是 ++count。 说明不是牛逼人。
|
d*******n 发帖数: 524 | 27 不对吧,如果需要返回表达式的值,那i++还是多一个临时变量的,时间和空间消耗都
是有区别的。
如果不需要返回,那倒是可能被compiler优化了,没有区别。
x=(++i):
mov ax, [memoryi]
inc ax
mov [memoryi], ax
mov [memoryx], [memoryi]
另外一个是
x=(i++):
mov [memoryt], [memoryi]
mov ax, [memoryi]
inc ax
mov [memoryi], ax
mov [memoryx], [memoryt]
【在 R***a 的大作中提到】 : 现在的编译器没那么二吧。 : 一看上下文不需要整个表达式的值,直接就忽略啊。 : 就算需要表达式的值 : 那也一个是 : ++i: : mov ax, [memoryi] : inc ax : mov [memoryi], ax : mov [memoryt] ax : 另外一个是
|
w*********a 发帖数: 9279 | 28 "我一口咬定没区别" 这样回答显然不行。 最根本的区别不是效率问题,而是++i不
能当左值。
【在 d*******n 的大作中提到】 : 这个是C++里面经典的“茴香豆的茴字有四种写法”的问题。 : 我以前面试就被问过,我一口咬定没区别,结果别人暗示我错了。 : 估计半吊子程序员最喜欢问这个。科班出身的估计不会问这种问题。
|
n***d 发帖数: 8857 | |
P**l 发帖数: 3722 | |
|
|
w***a 发帖数: 313 | |
T*U 发帖数: 22634 | |
w***u 发帖数: 17713 | 33 说起汇编,这得看芯片,有些芯片有循环寄存器的,管你i++还是++i,都被优化没了,
连时钟周期都没有。 |
b***u 发帖数: 12010 | 34 如果是纯c就编译不了了。
【在 P**l 的大作中提到】 : count定义在for里面看着更舒服
|
n**********y 发帖数: 1446 | 35 没觉得1楼是笑话,倒是二楼开始一直到楼上都是笑话 |
R***a 发帖数: 41892 | 36 按你这个假设指令集可以直接mem->mem
你这个第二个可以直接改写成
mov [memoryx], [memeoryi]
mov ax, [memoryi]
inc ax
mov [memoryi], ax
有必要加个中间变量么?
【在 d*******n 的大作中提到】 : 不对吧,如果需要返回表达式的值,那i++还是多一个临时变量的,时间和空间消耗都 : 是有区别的。 : 如果不需要返回,那倒是可能被compiler优化了,没有区别。 : x=(++i): : mov ax, [memoryi] : inc ax : mov [memoryi], ax : mov [memoryx], [memoryi] : 另外一个是 : x=(i++):
|
s*****m 发帖数: 8094 | 37 牛逼人都知道这种情况下无所谓,装逼的都一定要纠正别人用++i
【在 w*********a 的大作中提到】 : 写count++, 而不是 ++count。 说明不是牛逼人。
|
s*****m 发帖数: 8094 | 38 所以啊,集集歪歪这个的就是装逼的
【在 l****g 的大作中提到】 : 早就被 compiler 优化了 : 还争什么 i++ 和 ++i
|
s*****m 发帖数: 8094 | 39 你的蛋还在吗?
【在 d*******n 的大作中提到】 : 不对吧,如果需要返回表达式的值,那i++还是多一个临时变量的,时间和空间消耗都 : 是有区别的。 : 如果不需要返回,那倒是可能被compiler优化了,没有区别。 : x=(++i): : mov ax, [memoryi] : inc ax : mov [memoryi], ax : mov [memoryx], [memoryi] : 另外一个是 : x=(i++):
|
s*****m 发帖数: 8094 | 40 呸
【在 a*o 的大作中提到】 : Python就是一堆蛋疼的hacker捯饬出来的语言。
|
|
|
h*****0 发帖数: 4889 | 41 吸加加标准要写里面比较好。
【在 b***u 的大作中提到】 : 如果是纯c就编译不了了。
|
h*****0 发帖数: 4889 | 42 你觉得你这个对比有意义吗?
x = ++i;
和
x = i++;
做的事不同啊。
【在 d*******n 的大作中提到】 : 不对吧,如果需要返回表达式的值,那i++还是多一个临时变量的,时间和空间消耗都 : 是有区别的。 : 如果不需要返回,那倒是可能被compiler优化了,没有区别。 : x=(++i): : mov ax, [memoryi] : inc ax : mov [memoryi], ax : mov [memoryx], [memoryi] : 另外一个是 : x=(i++):
|