Re: [問題] 如何優化此程式|補充發問

看板C_and_CPP作者 (Pichu)時間13年前 (2011/03/02 15:51), 編輯推噓0(006)
留言6則, 4人參與, 最新討論串3/3 (看更多)
※ 引述《LPH66 (-858993460)》之銘言: : ※ 引述《pichubaby (Pichu)》之銘言: : :  這行 : :   我想問的是  : :   大家應該都當作編譯器會自動最佳化,所以為了可讀性可以這樣寫 : :   但是假如他的型別為自定義型別 : : 例如 : :       s[i] -= _T('A') - _T('a'); : : 的話,編譯器仍然會跟進去做最佳化嗎? : _T 這例子可能不太好 : 因為至少對 compiler 來說 : 在變成 L'A' 之後它還是一個 wchar_t 的常數 : 這個型態的常數相減它還是可以自己做 所以這個情形一樣會處理掉 : 但我想你要問的是一些自訂型別的 ctor 的樣子 : 例如 foo('A') - foo('a') (若 class foo 有 foo(char) 及 operator - 的話) : 這種我覺得就不一定了 可能最多做到 inline 而不會最佳化到底 : 畢竟 compiler 並不知道你到底寫了什麼東西在那裡面... : (當然 inline 後有沒有可能進一步最佳化也是個問題就是) 恩 的確用class foo會比較接近原意  考慮到連結後不在進行最佳化的話,或許就真的不會做到底  那假如連結後有可能繼續最佳化下去嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.182.94

03/02 15:53, , 1F
...你忘了推文嗎
03/02 15:53, 1F

03/02 17:20, , 2F
=口= 他不能自刪
03/02 17:20, 2F

03/02 19:04, , 3F
這篇要推文也滿麻煩的, 也算有意義, 就別矯枉過正了吧
03/02 19:04, 3F

03/02 22:12, , 4F
對於 class 的 operator 不要有太多的幻想, 對編譯器來說
03/02 22:12, 4F

03/02 22:12, , 5F
它就只是個函數呼叫罷了, 資訊夠 compiler 就有機會最佳化
03/02 22:12, 5F

03/03 07:52, , 6F
謝謝樓上
03/03 07:52, 6F
文章代碼(AID): #1DRVSFrD (C_and_CPP)
文章代碼(AID): #1DRVSFrD (C_and_CPP)