C++學習的方法以及四大名著(薦)
轉眼間學習和使用C++已經有近10個年頭了,開始學習的時候走了不少的彎路,今天有些時間,希望寫下這篇文章並且對開始學習C++的朋友有些協助。當然我首先需要說明的是,這篇文章是根據本人的感受寫的,可能不同的人有不同的觀點,歡迎討論。
開始學習C++的時候中國的互連網環境還不是很好,資訊也比較閉塞,所以自己開始的時候是由Thinking in C++ 開始的,買了兩卷本的英文版,廢了好大的一番周折才算看完了,這個過程大約花費了近6個月的時間,當然期間也要花時間完成學業。後來就有這個根基開始了不斷的寫代碼,做ACM的題,漸漸開始了C++真正的旅程。
時至今天我發現,其實這個過程可以更輕鬆,只要有過來人稍微點播一下,於是有了寫這篇文章的想法。其實學習C++的讀書順序應該是這樣的(對於有C基礎的朋友):
C++ Primer
Effective C++
Exceptional C++
Inside the C++ Object Model
這就是我選的C++四大名著,那麼我為什麼選這四本書呢?
C++ Primer 這本書我看過第三版和第四版,目前這本書已經出到了第五版,不得不說,這本書太適合入門了,當然我指的是有C基礎,而且基本上所有的語言特性都給予了說明,可以說是大而精。同等地位的書有C++ Programming Language 和 Thinking in C++ 這兩本書我也讀過,但是個人認為,讀了C++ Primer再看這兩本書意義不大。
Effective C++ 和Exceptional C++ 這兩本書並不厚,但是涵蓋的知識面是一般的C++書籍所無法企及的,可以說如果沒看過這兩本書就不算合格的C++程式員,俗話說磨刀不誤砍柴,這兩本書就是磨刀的,但是這兩本書都不簡單,建議看完了C++ Primer再看。
Inside the C++ Object Model看這本書可能需要一點功力,薄薄的一本書,足夠全力的研讀一周,一旦通關了可以說對於C++的理解可以到達另一種境界。
關於這些書籍是讀中文版還是英文版的問題
我的建議是買一本中文版,找一本英文的電子版(可以去買電子書),直接讀中文版,然後感覺可能翻譯有問題的地方對照著看。為什麼這麼說呢,因為根據我的經驗,這樣讀書的效率更高。而直接讀英文版和所謂的“評註版”意義都不大,讀書的時候會相對的浪費精力,這個和英語水平沒關係,除非英語你的母語。
關於標準庫和泛型程式設計的學習
這方面確實是對C++語言的增強,但是編碼難度相對較大,也特別容易被人忽視,但是C++發展到今天標準庫和泛型程式設計已經和完整,而且確實可以提高生產力,建議在看看相關的書籍,有時間寫篇這方面的文章。
總結
本問總結了學習C++的一些需要注意的問題,並且推薦了四大名著,相信只要按照順序修鍊,大家一定可以學好C++的,祝大家功力更上一層樓。