討論串[問題] 以下程式要如何作最佳化?
共 4 篇文章
首頁
上一頁
1
下一頁
尾頁

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者proach ( )時間12年前 (2013/05/18 10:51), 編輯資訊
0
0
0
內容預覽:
現在的 compiler 很聰明,如果 c 以後再也沒用到,那個 c 應該會被. 被儲存在 register 內,而非 memory內,只有計算一次,用過就丟,. 就是得多打幾個字,看你怎麼取捨囉。. --. 發信站: 批踢踢實業坊(ptt.cc). ◆ From: 220.133.4.39.

推噓0(0推 0噓 8→)留言8則,0人參與, 最新作者applecool (noOneKnows)時間12年前 (2013/05/18 09:23), 編輯資訊
0
0
0
內容預覽:
const int axb = a * b;. 判斷式裡面機率高的放前面. if(axb == 1 || axb == 5). {. .... }. 我覺得這樣是最好的寫法,. 容易維護,可讀性高,沒有什麼缺點. 如果 axb 不能宣告成 const. 有時候會用 1 == axb 來避免少打等號,
(還有322個字)

推噓5(5推 0噓 11→)留言16則,0人參與, 最新作者loveme00835 (高髮箍)時間12年前 (2013/05/18 03:39), 編輯資訊
0
0
0
內容預覽:
方法1: switch. switch( a*b ) {. case 1: case 5:. // your codes here. default:. }. 優點: 加新的數值比較快, 寫起來清楚. 缺點: case label 只能放常數, 要寫 default 區分其他情形. 方法2: mas
(還有636個字)

推噓4(4推 0噓 20→)留言24則,0人參與, 最新作者frankhsu421 (問號)時間12年前 (2013/05/17 22:21), 編輯資訊
0
0
0
內容預覽:
int a,b;. if(a*b==1 || a*b==5). {. ..... }. 上面的程式碼,a*b會執行兩次,但我確定兩次結果一樣. 我希望它執行一次就好. 我知道可以改成這樣:. int a,b;. int c=a*b;. if(c==1 || c==5). {. ..... }. 但是
(還有10個字)
首頁
上一頁
1
下一頁
尾頁