學習C++心得與值得一看的書

來源:互聯網
上載者:User
結合一些我的學習經曆,希望對於想學C++的人有些協助. 大家有什麼好想法望提出

我老師最初是從C語言教起的,用的是潭浩強的<<C程式設計>>這本書,那時候命令執行都是在CMD裡實現,用的編譯器是turboc最經常用

到的就是 printf  cin 對於效率不是很在乎,只要能執行就好了,連warning都忽略(這個很不應該).後來又學了C++,是清華大學出版

的<<C++程式設計>>,用的編譯器是VC6.0.這本書也是講了一些很基礎的東西.給我的感覺就是 "類"在這裡是無處不在, 封裝,繼承,派

生,多態,還有一個是泛型程式設計都在這本書被提到,相對於只學過C的人應該會覺得很新鮮.但我很多時候在做作業時都是C跟C++混合使

用,想起來會覺得很好笑.並沒有把C++特性很好的發揮出來.

後來學過<<visual c++ 6從入門到精通>> 這裡面基本是講MFC了,類在此時才發揮它的魄力,這時基本都是用C++編寫代碼了.
但代碼寫的很爛,沒有想過要最佳化它.

暑假回家看了<<C++primer>>  如獲至寶,容器與泛型程式設計給我有一種耳目一新的感覺.此書是這樣被評價的:久負盛名的C++經典教程,
結合兩位C++大師的精妙見解.  寫的挺細的,你會學到很多新東西 . 但我個人不建議以它做為最初的入門教材,可結合入門教材看.

還看了<<effective c++>> 如果你學過C++並且已經寫過很多覺得很滿意的作品,但是你說你沒看過甚至沒聽過這本書,我得跟你說你

錯過了最佳化編程思想的機會,呵呵有點誇張. 給你們簡述下簡介:當你讀過這本書後,就獲得迅速提升自己C++功力的一個契機,協助跨

越C++的重重險阻,領略高處才有的壯美風光,做一個成功而快樂的C++程式員.
你也許會怦然心動,確是一本好書.效率,安全,在此淋漓盡現. 令人拍手稱快.  你會突然覺得自己以前寫的代碼是多麼的糟糕,這時你
已經往前邁了一步了.
這本書建議看完<<c++primer>>後再看,因為裡面有涉及容器等一基本教材未提及或未深入的東西,如果感興趣還可以看看<<more effective c++>>  <<effective stl>>

我的個人的拙見可以這樣學C++:

第一步:首先入門可以從 國內出版的 教材入門 如 
潭浩強的<<C程式設計>> 
清華大學出版的<<C++程式設計>>等 能瞭解一些基本文法 會編寫些簡單的程式 

第二步:看<<C++ primer>>我絕對對贊同這是本好書,面也廣.<<The C++ programing Language>>這本書的名頭也是讓我如雷灌耳,書館找了半天沒找到,唉傷心..它們能使你更全面的瞭解C++ 這時你對泛型程式設計.模版.容器.標準庫函數 等都會有一些瞭解,甚至會有一些自己的獨到見解了.以後看到這些代碼不至於會不知道是什麼東西 (當然這書可以結合第一步的書看) 
<<The C++ Standard Library>>摘個內容簡介:本書以最新的C++標準庫為基礎,不僅介紹了C++標準庫及其所有組件,而且還講述了如何在實際編程中高效地使用它們,就當stl而言,感覺對於STL入門不適合,而且應該也沒有STL源碼剖析 說的那麼詳細,但是不失為一本好書.當然<<STL源碼剖析>>就不用我說了吧隨便一搜就是好評一大把啊.對於標準函數的介紹與使用我知道的有一本比較小一點的書<<C/C++標準函數查詢>>也可以做為參考.但是最常用到的還是MSDN吧,這個我想是必備的工具,當然如果是linux下編程,可能就要查線上版的MSDN了,不過線上查詢功能貌似不好用.

第三步:這時候C++基本的東西你已經掌握了差不多了 學習windows的程式設計 
兩本精典之作 <<windows程式設計>> 
<<windows核心編程>>
(這兩本書至少看完一本後,如果想進一步學網路編程<<winsock網路程式設計>><<windows網路編程>>之類的書可以看看)
如果有興趣可以看些LINUX的編程書 <<自己動手寫作業系統>><<UNIX 編程藝術 >>
<<UNIX環境進階編程>>
<<深入理解LINUX核心>>
<<linux核心編程>>....... 
還有這個期間要結合 <<電腦群組成原理>>
<<編譯原理>>之類的書看 
然後再看VC++類的書 <<深入淺出MFC>>
《VC++技術內幕》等 
有空的話可以學點彙編 彙編的書我就不介紹了 因為不是瞭解很多

第四步:第三步完了,差不多能寫一些自己的小軟體了,這時候要進一步發展學些複雜的,效率的.
看 <<資料結構>> 學習演算法.
看<<C++編程規範>> <<effective c++>>  <<MORE EFFECTIVE C++>>
《Exceptional C++中文版》 
<<thinking in C++>> 這本書在國外有很高的評價,第一卷還簡單一點,第二卷我啃了半天沒啃下(標準庫不是很熟悉的結果), 所以最好要看完<<the C++ progarming language>>或<<C++primer>>(當然其他書大家自己發掘了)再看它 
《C++ Templates全覽(簡體版)》,人民郵電出版社  模板是不是令你覺得很新穎,那去學他吧. 
進一步提高自己,養成良好編寫習慣還有很多好書下面我會列出來(不是說要你們全看,當然看的越多越好)
<<C++標準庫擴充權威指南>>......
第五步:看<<軟體工程>>
<<軟體體繫結構>>之類的書  
說實話 考 程式員 軟體設計師等 軟體工程類的知識是少不了的呵呵 
個人建議,也許對某些人不適合,也許某些人有更好的建議.給大家一個選擇了..
在這學習期間,可以嘗試去考個程式員或軟體設計師,系統分析師之類的認證,對將來就業有好處的.有空多到網上與人交流.提高自己

其他書我VC的看過很多,但C++的很少了.可是比較出名的我就列出來供大家參考(查至網上)

1。The C++ Programming Language(Bjarne Stroustrup)
2。 Inside The C++ Object Model (Stanley B. Lippman)
(這本書介紹一些C++的內部實現)
3。Advanced C++ Programming Styles And Idioms (James O. Coplien)
(這本書介紹一些C++編程的習慣用法)
4。 STL Tutorial and Reference Guide (David R. Musser) (Professor Musser
STL的創始人之一。這本書介紹Generic Programming
的思想和標準)。
5。 Design Patterns (Erich Gamma) (很精典的物件導向設計的組件和執行個體)
當然,看任何一本書的時候都要動手(試常式或做習題)。然後嘗試著在課堂項目中把書中的方法實驗一下,以加深印象。"

國外C++幾乎所有的教材都被翻譯為中文了,如果沒有翻譯的也已經有影印版出版。
TCPL和D&E
TCPL和D&E分別是《The C++ Programming Language》和《The Design and Evolution of C++》的簡稱,均出自Bjarne Stroustrup之手。說它們是C++語言聖經,並不為過。
中文名稱:
《C++程式設計語言(特別版)》,機械工業出版社
《C++語言的設計和演化》,機械工業出版社
入門教程
Stanley B. Lippman, Essential C++
《Essential C++中文版》,華中科技大學出版社
《Essential C++(影印版)》,中國電力出版社
高效、健壯編程
《Exceptional C++中文版》,中國電力出版社
《More Exceptional C++中文版》,華中科技大學出版社
模板和泛型程式設計
《C++ Templates全覽(簡體版)》,人民郵電出版社
《C++設計新思維:泛型程式設計與設計模式之應用》,華中科技大學出版社
標準庫
《C++標準程式庫:自修教程與參考手冊》,華中科技大學出版社
《Effective STL(影印版)》,中國電力出版社
網路編程
《C++網路編程,卷1:運用ACE和模式消除複雜性》,華中科技大學出版社
《C++網路編程,卷2:基於 ACE 和架構的系統化複用》,電子工業出版社
雜項
《C++編程思想(第2版)第1卷:標準C++導引》,機械工業出版社
《C++編程思想(英文版 第2版)》,機械工業出版社
《C++沉思錄》,人民郵電出版社
《深度探索C++物件模型》,華中科技大學出版社
《深度探索C++物件模型(影印版)》,中國電力出版社
C++工程領域的最高境界:
《設計模式:可複用物件導向軟體的基礎》,機械工業出版社其他的好書可以參看我BLOG 書評裡的其他幾篇文章
PS:20081123修正============================================== 以上只是我個人的一點點自己的看法  由於自己還是菜鳥認識不是很深  所以 又找到了一篇我
認識的一個編程愛好者的文章  希望對大家有協助
他網名叫  仙水兄 
【討論】個人認為學習C、C++、VC編程必讀的幾本書。
今日無事,好久沒到這裡來發帖了,看見還有人推薦書籍,所以我也來推薦幾本自己覺得C類語言編程必讀的書:
 
只要認真的讀了以下兩本書和作了相關的習題,算是入門了。
士兵:《C程式設計》(譚浩強)
士官:《C++程式設計》+《C++程式設計習題解答》(錢能)

如果要想在C++上有一定功力,這兩本是必讀的書。 )
排長:《effective c++》 和《資料結構 用物件導向方法與C++描述》資料結構不一定要精通但應該瞭解的。

這時候比較想編寫有介面的應用程式了,此書作為基礎也好、進階也罷都是必讀之書。
連長:《windows程式設計》(上、下)

如果覺得自己的C++水平夠好了,下面這本書將使你重新認識這個自以為很熟悉並且古老的語言。 
營長:《提高C++效能的編程技術》
)
要想開發應用軟體而且比較方便但又不知道如何入門應該讀的書:
團長:《VC++技術內幕》第四版、《深入淺出MFC》(這本書畢竟是自己人所寫,強烈支援的)

有自己做點遊戲的想法應該先讀:
旅長:《C++遊戲設計基礎》  榮欽科技(由於此書講得有些點到為止的“境界”所以把它當作可有可無的旅長吧^_^,不過對於新手而言是個不錯的起步!)

真正想自己開發點好遊戲的人必讀之書:
師座:《windows遊戲編程大師技巧》 原書第二版+《傳奇的故事學VC編遊戲》 (此兩本書確實經典,但後一本已經絕版了。。。) 

想在遊戲開發中(因為C++現在主要使用來開發遊戲的)大展宏圖的人應該看的書
軍座:《遊戲開發物理學》如果真的把這本書弄懂了,熟悉了,軍座非閣下莫屬。
-------------------------------------------------------------------------------------------------------------------------------C++/OPP/OOD系列:
層級一:文法/語意(C++)
[Lippman2000] Essential C++ [推薦]
Essential C++,by Stanley B. Lippman Addison Wesley Longman 2000,276 pages
Essential C++ 中文版 ,侯俊傑 譯,282頁[Gregory95] C++:The Core Language
C++:The Core Language by Gregory Satir 1995 O'Reilly
C++語言核心,張銘澤 譯 ,236頁[Deitel98] The Complete C++ Training Course
The Complete C++ Training Course 2/e by Harvey M.Deitel 1998 Prentice Hall
C++大學教程(第二版),邱仲潘等 譯,816頁[Stevens2000] Standard C++ Bible
Standard C++ Bible 2000 Al Stevens IDG
標準C++寶典,林麗閩等 譯,766頁[Eckel2000] Thinking in C++ [第二版翻譯不大好,建議看原版]
Thinking in C++ 2/e Bruce Eckel 2000 1470 pages Prentice Hall
C++ 編程思想,劉宗田等 譯,420頁[Lippman98] C++Primer [有點C++基礎再看,強烈推薦!]
C++ Primer,3rd Editoin,by Stanley Lippman and Josee Lajoie
Addison Wesley Longman,1998 1237 pages
C++ Primer 中文版,侯俊傑 譯,1999,1237頁[Struostrup2000] [專家級,需要一定水平]
The C++ Programming Language,Special Editoin,by Bjarne Stroustrup
Addison Wesley Longman,2000,1017 pages
C++程式語言經典本,裘宗燕 譯,機械工業出版社 1999[ANSI C++] C++規格書 1998.9.1 PDF格式
ANSI C++ 1996 Draft層級二:專家經驗(C++/OOP)
[Meyers96] More Effective C++ [不錯]
More Effective C++,by Scott Meyers,Addison Wesley,1996,318pages
More Effective C++中文版,侯俊傑,培生 2000. 318頁[Meyers98] Effective C++ [推薦]
Effective C++,Second Edition,by Scott Meyers,Addison Wesley Longman,1998.256pages
Effective C++ 2/e 中文版,侯俊傑,培生 2000.256頁[Sutter99] Exceptional C++ [不錯]
Exceptional C++,by Herb Sutter,Addison Wesley Longman,2000.208pages
Exceptional C++中文版,侯俊傑,培生 2000.248頁[Sutter2001]More Exceptional C++
More Exceptional C++ by Herb Sutter,Addison Wesley Longman,2001.層級三:底層機制(C++ Object Model)
[Ellis90] The Annotated C++ Reference Manual
The Annotated C++ Reference Manual,by Margaret A.Ellis and Bjarne Stroustrup
Addison Wesley Longman,1990,447 pages.[Lippman96] Inside the C++ Object Model [good]
Inside the C++ Object Model,by Stanley Lippman,Addison Wesley Longman,1996,280pages
深度探索C++物件模型,侯俊傑 譯層級四:設計觀念的複用(C++/Patterns)
[Gamma95] Design Patterns:Elements of Reusable Object Oriented Software, [強烈推薦]
by Erich Gamma,Richard Helm,Ralph Johnson,and John Vlissides,Addison Wesley,1995.395pages
設計模式,李英軍等譯,機械工業出版社,2000.254頁[Alex2001]Modern C++ Design: Generic Programming and Design Patterns Applied [比較深奧]
by Andrei Alexandrescu,Addison-Wesley,2001,352PaperGenericity/STL系列:
第一個境界是使用STL:
[Josuttis99]:The C++ Standard Library -A Tutorial and Reference,by Nicolai M.Josuttis,
Addison Wesley 1999.799pages
中文版,侯捷譯 [聽說還可以]第二個境界是瞭解泛型技術的內涵與STL的學理:
[Austern98]:Generic Programming and the STL -Using and Extending the C++ Standard
Template library,by Matthew H.Austern,Addison Wesley 1998.548page第三個境界是擴充STL:
[Stepanov2001]:C++ Standard Template Library by P.J.Plauger,Alexander A.Stepanov,
Meng Lee,David R.Musser,Prentice Hall 2001這些就是你應該看的書,如果你想成為高手。當然,因為很多書的內容會有所重疊,所以不是每本都必看的。在每個層次裡看1~2本就差不多了,當然,有時間多看幾本有利無弊

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.