Re: [問題] C++深入必看的書
※ 引述《yoco315 (眠月)》之銘言:
: 《Inside C++ Object model》
這本我沒看過,沒看的理由是有點年代了
二來則是聽說這本所談的事過於底層,我興趣沒很大
不過聽這樣說起來,改天好像應該稍微翻一下 :p
btw, 本書作者 Stanley B. Lippman 也是名書 C++ Primer 作者
現在在微軟工作的樣子,C++/CLI 跟他關係似乎很深
前一陣子我看到一篇 Stanley B. Lippman 文章,聲稱 C++/CLI 是
C++ 的自然演進(用什麼詞彙我忘了),
在 comp.lang.c++.moderated 引起廣泛的討論
: 《Modern C++ Design》
這本是我目前認為所有學 C++ 的人都應該看的書
除了大量使用 template 做到各種不可思議的事外,
作者的巧思與思維縝密也讓人欽佩
不過這本的難度確實不低,初學者要看懂…實在沒那麼容易
當初我翻半天也一直搞不太清楚他想說什麼
後來 Design Patterns 一書看得比較熟後,才能漸漸理解其背後的設計理念
作者 Andrei Alexandrescu 還有其他不少文章相當值得一讀
http://erdani.org/ 中的 Other Publications 可以看到不少著作
(不幸的是,C/C++ Users Journal 好像已經…)
其中有不少文中提到的東西如今已經加到 Loki 之中
如 ScopeGuard, LockingPtr, SafeFormat 等
Usenet 的 comp.lang.c++.moderated 和 comp.std.c++ 也可以看到其蹤跡
用 google group 看滿方便的
http://groups.google.com/group/comp.lang.c++.moderated
http://groups.google.com/group/comp.std.c++
另外 Andrei Alexandrescu 和 http://www.gotw.ca/ 主持人,
Exceptional 系列書作者 Herb Sutter 合出過一本書叫
C++ Coding Standards, 這本無聊的話可以翻一翻,
因為他寫得很簡潔,隨意看一看不會花太多時間。
我覺得 Effective 和 Exceptional 系列的缺點是太過於瑣碎,這本倒是不會
但相對的,難度也就比較偏低,可以當散文看… XD
: 《C++ Templates: The Complete Guide》
這本我不是很喜歡,個人覺得把 template 規則看熟就夠了,
不用特別閱讀一本光講 template 的書。至於一些設計的手法,
與其看這本不如看其他更專精的。不過就像 yoco 所言,
如果 Modern C++ Design 看不懂的話,確實可以用這本暖身… XD
另外我個人推薦的有…
C++ Template Metaprogramming
這本在開頭有提到很多跟 template 有關的有趣技術
包括 boost.spirit, 一個強大的 parser 元件…
boost.phoenix, 可以實作 lazy evaluation...
實作 Embedded Domain Specific Language...
不過裡面有一段在講 boost.mpl 的部分,我就覺得有點煩,看不太下去了
但實作物理運算單位的那部分也很有趣 :)
再來的幾本我覺得就比較沒那麼需要特別去讀了
boost 直接一個項目一個項目去翻他 doc 就好
不過如果覺得這樣很煩的話,
Beyond the C++ Standard Library: An Introduction to Boost
這本我沒有仔細看過,但之前翻過的幾次是覺得還算不錯
只是就真的是 introduction 囉…
再來如果覺得 boost 太多太煩了,可以先看
Pete Becker 寫的 The C++ Standard Library Extensions
這本書有點在模仿 The C++ Standard Library, 連書名都好像 XD
內容則是詳盡描述 TR1 的所有元件,包括 bind, function, unordered_map,
random, tuple, shared_ptr, weak_ptr, 等等 boost 中很 popular 的東西
p.s. TR1 是 Technical Report 1 的簡稱,目前除了 special math function 外,
已經全部納入 C++0x 中,成為下一版的標準
一些資料可以看這個 http://en.wikipedia.org/wiki/Technical_Report_1
比較令人惋惜的是,目前我只知道 Dinkumware 有實作完整 TR1,
而我暫時不想掏錢買來試用看看……
boost 也有做 TR1 的 wrapper(wrap boost 來做的),
在 cvs 裡面應該可以找到,缺點是就我上次來看,還很不完整,東缺西缺
: 前輩說直接看最新的 lib 就好了
快叫前輩出來發言…?
: boost 跟 loki 是很先進沒錯
: 不過我覺得太先進了 XD
: 如果沒有先把一些基礎的東西念一念
: 直接看 lib 也看不懂
我覺得 StubbornLin 應該有能力直接閱讀這些 lib 了
直接閱讀 lib 的好處是,可以挑重點看,不會被一堆介紹搞昏頭了
碰到有什麼不太理解之處,也能直接翻出 source code 找出問題點
Loki 是有一點難,但 boost 我覺得還好,直接看應該不會有太多問題
當然要花時間是一定的,好歹他也是 boost... XD
而且就量而言,他是 Loki 的好多好多倍大…
ACE 的東西我覺得應該也是可以看一看,可惜的是我個人跟網路不太熟,
所以上次翻了一下的結果是覺得有點不知所云 Orz
另外 GUI 的部分,wxWidgets 和 Qt 都有出很新的書,
我是沒看過,但我想應該都頗有參考價值的
btw, Scott Meyers 也有出一本書叫 Effective STL,
這本我沒看過,不過有些文章也有 refer 這本,應該也是可以看看
--
By Gamers, For Gamers - from the past Interplay
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.117.165.59
推
10/18 22:34, , 1F
10/18 22:34, 1F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章