[情報] C/C++ 利用空指標提高程式效率

看板C_and_CPP作者 (雲飛(想出去玩))時間15年前 (2009/04/04 21:04), 編輯推噓7(7010)
留言17則, 8人參與, 最新討論串1/2 (看更多)
http://tech.ccidnet.com/art/1081/20060407/500363_1.html -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.110.129.88

04/04 21:07, , 1F
看不太懂... 有人知道為什麼 他說這樣做就會比較有效率哩
04/04 21:07, 1F

04/04 21:38, , 2F
因為 while(*array!=NULL) 這行取代了原本該有的
04/04 21:38, 2F

04/04 21:39, , 3F
for( int i=0;i<number_of_element;i++ ) 迴圈
04/04 21:39, 3F

04/04 21:39, , 4F
把 i++ 等運算減化剩下相等判斷
04/04 21:39, 4F

04/04 22:13, , 5F
其實i++到時候還是要換算進array++, ++應該沒省到@_@"
04/04 22:13, 5F

04/04 22:14, , 6F
不過*array與array[i]相比記得的確會提高相當的效能:)
04/04 22:14, 6F

04/04 22:15, , 7F
加上CPU通常會對與0比較做最佳化, MS面試那本也有提到^^
04/04 22:15, 7F

04/04 22:23, , 8F
樓上漏看等字了啦^^"
04/04 22:23, 8F

04/04 22:25, , 9F
其實我現在在夢遊....XDDD
04/04 22:25, 9F

04/04 22:26, , 10F
倒是標題跟原文有差喔=_= ... 指針不是字元 是指標
04/04 22:26, 10F

04/04 22:32, , 11F
如果要硬改的話, 也可以不用i++, 而用array++
04/04 22:32, 11F

04/04 22:33, , 12F
效能幾乎沒差別...
04/04 22:33, 12F

04/04 22:33, , 13F
對complier... 優化後可能最後都是類似的了
04/04 22:33, 13F

04/04 23:14, , 14F
差不了多少
04/04 23:14, 14F

04/04 23:22, , 15F
呼叫 cout 所花的時間遠大於計算 i++ 的時間
04/04 23:22, 15F

04/05 03:34, , 16F
改善幾乎微乎其微嚕 :D
04/05 03:34, 16F

04/05 13:20, , 17F
它的重點是array的access方式造成的效能差啦....XD
04/05 13:20, 17F
文章代碼(AID): #19rrh7hR (C_and_CPP)
文章代碼(AID): #19rrh7hR (C_and_CPP)