看板 C_and_CPP 關於我們 聯絡資訊
小弟最近在讀Scott Meyers的書 發現目前他的Effective C++系列的書 Effective C++跟STL分別是2005年跟2001年 應該都是為C++98而寫的 Effective Modern C++是2014年 為C++11跟14而寫的 但只有More Effective C++是1996年... 所以想請問More Effective C++大部分內容是否還適用在現在的C++ 會不會書中所提的增進效能的方法在現在的compiler已經不適用了?? 以上問題懇請各位大大回答 -- ▁▂ 人生就是戰場,當你體會到你已經死定的事實,你自然就會做出你該做的事。▂▁ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.124.167.226 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1443065773.A.BA6.html
soheadsome: 你以為c++到了c++11之後所有東西都被打掉了嗎 09/24 13:01
我舉個例子好了 Effective C++ item 20 寧願用 pass-by-reference-to-const 取代 pass-by-value 但是作者又有背書說對於一般常見的type則不需要這樣做 因為compiler預設都已經做好了 我想問的就是這一類的問題 另外還有 Effective STL中 item 29 作者說istreambuf_iterators 會比 istream_iterator好用 而且簡單的測試中 效能好上 40% 就是想問說這些的特性效能上的差異到底新的compiler是否已經修正??
uranusjr: 不熟 C++ 的話誰知道啊, 很多語言大改版都向後不相容 09/24 13:13
uranusjr: C 和 C++ 這種標準幾乎一直完全向後相容的反而是少數 09/24 13:13
legendmtg: 有些技巧新的compiler或library已經可以幫你做掉了 09/24 13:21
legendmtg: 但是整個概念大致上還是適用的 09/24 13:22
我是比較好奇為什麼More Effective C++沒有跟Effective C++一樣繼續出第三版 ※ 編輯: Sirctal (59.124.167.226), 09/24/2015 13:28:41 ※ 編輯: Sirctal (59.124.167.226), 09/24/2015 13:29:52
Killercat: 基本上大多數都適用,但是有少數幾個item因為C++11引入 09/24 13:44
Killercat: operator&&跟std::swap而有些變化 09/24 13:44
Killercat: 誒不是std::swap,是std::move 09/24 13:45
※ 編輯: Sirctal (59.124.167.226), 09/24/2015 13:58:16
soheadsome: 你說那種情形在effective modern c++ 就會用r-val惹 09/24 16:25
soheadsome: reference 09/24 16:25
ronin728: 書上沒特別提的幾乎都沒改,例如舊版的auto_ptr被砍了 09/24 19:45
ronin728: 新書都會特別提。而C++一直保持向舊版兼容,所以什麼東 09/24 19:46
ronin728: 西或是語言機制領便當了,都是大事一條,一定會提。 09/24 19:47
ronin728: 而對於某問題,新標準有更好的解決方案,新書也會說, 09/24 19:48
ronin728: 就是自己有沒有把觀念升級或是記住新內容而已。 09/24 19:48
ronin728: 所以對10多年前的書其實不用太擔心觀念落伍,有看新書 09/24 19:51
ronin728: 就等於你觀念有更新 ... 現在的C++老手沒有一開始就學 09/24 19:52
ronin728: C++ 14 的好嗎... 09/24 19:52
喔喔喔 原來如此 謝謝你的回答 ※ 編輯: Sirctal (114.34.228.7), 09/24/2015 20:53:38