如何學好C++(轉)

如何學好C++,我沒有別的辦法更好的辦法給你們了,唯一的辦法就是讀書,讀大
量的書,就可以解決。要把C++作爲日常語言,而不是一種程序語言,這樣就好辦了。其次要大量大量的實踐,只有實踐才能真正掌握編程的技術。


有人又要問我,那麼我應該讀什麼書纔好?沒有時間怎麼辦?我只能對你們說,沒時間的話,就別學C++了,做你們喜歡做的事。生活中沒有
C++,也同樣美好。


如果你準備學,一定要學好,那麼我開個書單,應該問題不是甚大。
首先肯定要讀一讀Bjarne Stroustrup的The Design and Evolution of C++,瞭解
一下這個語言的歷史。接下來就可以看別的書了,但要不停地回頭看這本書,看到
你不斷地學到的新技術是怎麼樣一點點地被接納到這個語言中去的。
第一本書因人而異,基礎好一些的,可以看Stanley B. Lippman的C++ Primer,這
本書非常地巨大,你打星號的部分可以不要看。基礎不太好的,可以看Stanley B.
Lippman的Essential C++,這本書份量要輕得多,不過四個C++的範型都講了,而
且講得非常清楚。


第二本應該停止技術層面的東西,靜下心來看看Pike和Kernighan的The Practice
of Programming,好好地整理一下,在程序設計中應該有哪些注意的事項。這本
非常薄的booklet,可以說是程序員必讀的指南。
第三本書,就應該是Bruce Eckel寫的、候捷譯的Thinking in C++,這本書每過
半年我就要重讀一遍。可以說每一章都是寫得發人深省的,這本書讓我感覺到了
技術運用的非常高的境界,但是語言非常平實,只要認真地讀,即使基礎不行,
也一定可以懂。


要更上一層的話,就要慢一步,先要把握C++設計習慣的良好。這是Scott
Meyers的Effective C++和More Effective C++帶給我們的無盡收益。我More
Effective C++買不起,只好花了10塊錢復印裝訂了一本"線裝本",看起來像葵花
寶典(;-))。這兩本書是真正的經典,作者對C++的純熟,使得語言的風格讀起來
簡直是如飴甘甜,就像他站在對面在講課。如果你已經深刻地理解了Effective C++和More EffectiveC++,那你可以發現,你在衆人中已經是雞羣之鶴。可以指導項目運作了,可以編寫一切你想做的程序了,可以指出別人看起來不錯的代碼的大小問題了。如果你能一眼看出有人的代碼是對應於"條款27"或"條款M6",那你可真是讓本人刮目了。
我已經講了,如果要寫程序,EC++和MEC++的境界已經足以使你自如應付,可是如
果你還不滿足,想關注一些理論層面的問題,或是想看看實現的代碼,你就不應該
錯過這幾本好極了的書。我是說Herb Sutter的Exceptional C++和More
Exceptional C++,這兩本書的難度是非常大的,我對每一條的閱讀筆記都是十多
頁。特別是泛型程序設計的部分,這兩本書旁徵博引,極盡深入探討之能事,每每
看懂一條,都抹汗一次,大感酣暢淋漓;還有侯捷的 STL源碼剖析 ,以實際的
例子一點點地講解一個STL是怎麼樣實現的,我是剛開始讀,不發表評論;而
Stanley B. Lippman,Cfront的實現者之一,執筆寫出Inside the C++ Object
Model,我只有一個字,就是基本帥呆了。我從中瞭解了無數的編譯器解釋源代碼
的細節,以及記憶體分配的細節,呵呵,這些都知道了,我還怕什麼呢?最近得到
了另一Cfront實現者、C++標準委員會Koenig的 C++沉思錄,看起來非常不錯,這
裏也推薦給大家,但我也沒看完,亦無發言權。


最後最後,你們,未來的C++理論家們,可要記住,Bjarne Stroustrup的The C++
Programming Language無論如何也應該讀個四五遍!這是一切C++的書本的源泉。
如果還覺得不夠,就向C++標準委員會訂購一本C++標準。
一切中國大陸作者的書,一概不要看(包括我的)。一切VC++或講特定的編譯器的
書,一概不要看。如果需要補C語言的課,買一本非常小的K&R的The C
Programming Language足矣,其它的書一概不要看。不要先學C,再學C++,而要直接學C++。你不是先學古文,再學白話的,對不對?所以相信我,直接來更容易

發佈了28 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章