如果讓你只推薦一本C++書籍,你會推薦什麼?


C++ Primer


inside the c++ object model


The Design and Evolution of C++


《C++設計新思維》

我看過的書,讓我感到震驚的有三本,這本排名第一。

看完之後覺得,原來C++還可以這麼寫!

C++設計新思維 (豆瓣)


The C++ Programming Language (Special Edition),如果只看一本,就看這本就夠了。對初學者,不要通讀,挑選需要的主題看,然後通過Google和實際編程來學習。


《Accelerated C++》,這本書比較適合初學者。《C++ Primer》適合當字典查


既然樓上的朋友都推薦《C++ Primer》,那我就推薦《C++ Primer Plus》吧

至於為什麼。把後者看完,再看前者,就知道了。

PS:我的意思是建議兩本都看,先看後者,再看前者


《C++ Templates》

這本書在C++閱讀序列排名靠後。

能堅持看完這本又沒放棄C++的,看啥書不都即刻拿下?

沒看完而放棄C++的,則不需要更好的推薦。


C++程序設計語言(特別版)

原作名: The C++ Programming Language (Special Edition)

作者: [美] Bjarne Stroustrup 貝爾實驗室

譯者: 裘宗燕

出版社: 機械工業出版社

《C++程序設計語言》介紹了標準C++以及由C++所支持的關鍵性編程技術和設計技術。標準C++較以前的版本功能更強大,其中許多新的語言特性,如名字空間、異常、模板、運行時類型聲明等使得新技術得以直接應用。這本書圍繞語言及庫功能來組織,內容涉及C++的主要特徵及標準庫,並通過系統軟體領域中的實例解釋說明一些關鍵性的概念與技術。

  此特別版增加了關於現場和標準庫的異常時安全性兩個附錄,這就使書的內容完全地和權威性地覆蓋了整個C++語言,其標準庫,以及關鍵性的設計技術。

http://book.douban.com/subject/1099889/


STL源碼剖析.

全方面的學習怎麼寫好C++.

雖然不是C++ Primer或者The C++ Programming Language (Special Edition)這樣的基礎書籍,但是這本書不管是介紹編程風格,還是奇技淫巧,數據結構與演算法剖析都有涉獵.深入淺出.全方面了解一個成熟的程序庫設計,看懂之後保證你獲益非淺.


這要看情況吧,如果他是學這門語言,就是說之前學過別的,那《c++primer》應該沒什麼異議

但是如果其實是學編程,而實現的語言是c++,那我推薦《c++大學教程》(http://book.douban.com/subject/2030264/)。因為《c++primer》主要是介紹c++的各種功能、特性,演算法涉及的不多。直接學的話沒有演算法光看各種特性是看不下去的,而且學了也不知道為什麼要用,什麼時候用。而《c++大學教程》上有各種問題,很多有趣的題目,而且都是與相關章節有很大聯繫的。(其實這是廢話···教材嘛,不都這樣······)


如果只能推薦1本,那麼只有這個 http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=50372

再無其它


C++ Primer


如果是一位還未入門的初學者,我會向他推薦我寫的這本《我的第一本C++書》http://chenlq.net/category/books/my-first-cpp-book

如果是一位已經掌握了基本語法的C++中級使用者,我會推薦《C++編碼規範》

而如果是一位已經有一定經驗的C++專業程序員,我會推薦《重構》和《設計模式》


必須是 C++ Primer,中文第三版很經典,不過第四版不太適合初學者。總體說來這兩個版本都很不錯。


《c++編程思想》,學會了基本差不多了。經典圖書,當然難度稍微有點大。

京東:

http://click.union.360buy.com/JdClick/?unionId=23265t=4to=http://www.360buy.com/product/10057385.html


C++Primer,表示正在看……


C++高級編程(Professional C++)


建議找本基礎的c++看完之後,看一本設計模式的書,此時再回過頭來看一遍經典的C++書籍,如c++程序設計特別版,看看STL的設計,會更加領會C++的面向對象的思想


effective c++


推薦閱讀:

同意 「目光長遠的程序員都不會輕易加班」 么?
程序員為什麼要用 Linux 環境編程,用 Windows 不可以嗎?
程序員如何一個人干幾個人的活?
Google為什麼不為Android中的RecyclerView添加Item的點擊監聽器?
如何自定義隨機數函數?

TAG:編程語言 | 編程 | 計算機科學 | C |