Re: [c的指標]一個簡單的小問題,有沒有比較好的解釋?

看板Programming作者 (小虎)時間18年前 (2008/06/01 15:54), 編輯推噓3(302)
留言5則, 3人參與, 最新討論串7/7 (看更多)
※ 引述《IsfunHDS (Isfun)》之銘言: : void swap(int &x,int &y) : { : x=x^y; : y=x^y; : x=x^y; : } : 這個是用call by ref : 不過是用位元運算 速度比較快 看情況 似乎並沒有比較快 196672 131139 swap看起來就需要3cycles swap2只需要2cycles -- #include <stdio.h> __int64 rdtsc() { __asm rdtsc } __inline void swap(int &x,int &y) { x=x^y; y=x^y; x=x^y; } __inline void swap2(int &x,int &y) { int z; z=x; x=y; y=z; } void main() { __int64 a; int b,c,d; b=1; c=2; d=65536; a=rdtsc(); while(d--) swap(b,c); a=rdtsc()-a; printf("%ld\n",a); d=65536; a=rdtsc(); while(d--) swap2(b,c); a=rdtsc()-a; printf("%ld\n",a); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.59.154.31

06/01 16:28, , 1F
推,另補上 C FAQ 上相關的說明:
06/01 16:28, 1F

06/01 16:28, , 2F

06/02 10:28, , 3F
沒錯...我很久之前的測試結果
06/02 10:28, 3F

06/02 10:28, , 4F
也是沒比較快
06/02 10:28, 4F

06/07 04:38, , 5F
有人可以幫忙翻譯二樓的嗎?好想看懂....
06/07 04:38, 5F
文章代碼(AID): #18GbMqLf (Programming)
討論串 (同標題文章)
文章代碼(AID): #18GbMqLf (Programming)