個人經驗,C++ primer 第一次可以跳著看。關鍵是要儘快用起來,在使用中熟練,而不是在細節中迷失。以C++ Primer第五版為例,第一遍讀的時候:Part1也就是前七章,除了6.6,6.7節,都要通讀。尤其是第三章初步介紹了vector和string,簡直就是新手福音,搞定這兩個容器就能寫一些簡單的程式。Part2基本就是資料結構和演算法,如果有基礎讀起來很輕鬆。9,11兩章介紹的容器,以及12.1節的智慧指標要通讀。多用智慧指標和容器,遠離segment fault. 第10章裡的泛型演算法可以慢慢讀,讀完以後可以寫出高逼格的函式式風格C++。12.2節講了怎麼用new和delete分配空間,題主作為新手,知道這種寫法就行,寫程式時儘量用容器代替原始陣列,尤其是程式碼裡最好不要有delete。Part3是塊硬骨頭,標題就是Tools for Class Authors. 作為一個"class user",有些部分第一次是可以略過的。13章很重要,要細讀。初始化,複製,賦值,右值引用是C++裡很微妙很重要的部分,別的語言對於這些概念很少有區分得這麼細的。這一章不但要精讀,還要完全掌握。14章的運算子過載第一次可以觀其大略;14.9節第一次可以跳過。15章講OOP,重要性不言而喻。如果之前一點概念都沒有,學起來會覺得比較抽象。網上關於OOP有很多通俗有趣的文章,可以一起看看。16章講泛型程式設計,第一次讀16.1節,掌握最基本的函式模板和類模板就行了。Part4就更高檔了,很多內容第一次就算啃下來,長久不用又忘了。第一次讀推薦把18.2節讀懂,名稱空間簡單易用效果好。別的內容可以觀其大略,用時再看。17.1節的tuple是個有趣的東東,可以讀一讀。17.3節的正則表示式和17.4節的隨機數也許有用,也可以讀一讀。如果需要讀寫檔案,要讀一下17.5.2節的raw I/O和17.5.3節的random I/O。最後給題主的建議是,寫C++,要儘量避免C的寫法。用static_cast而不是括號轉換符;用vector而不是C裡面的陣列;用string而不是char *;用智慧指標而不是原始指標。當然I/O是個例外,printf()還是比cout好用的;轉換數字和字串時sprintf()也比stringstream快
個人經驗,C++ primer 第一次可以跳著看。關鍵是要儘快用起來,在使用中熟練,而不是在細節中迷失。以C++ Primer第五版為例,第一遍讀的時候:Part1也就是前七章,除了6.6,6.7節,都要通讀。尤其是第三章初步介紹了vector和string,簡直就是新手福音,搞定這兩個容器就能寫一些簡單的程式。Part2基本就是資料結構和演算法,如果有基礎讀起來很輕鬆。9,11兩章介紹的容器,以及12.1節的智慧指標要通讀。多用智慧指標和容器,遠離segment fault. 第10章裡的泛型演算法可以慢慢讀,讀完以後可以寫出高逼格的函式式風格C++。12.2節講了怎麼用new和delete分配空間,題主作為新手,知道這種寫法就行,寫程式時儘量用容器代替原始陣列,尤其是程式碼裡最好不要有delete。Part3是塊硬骨頭,標題就是Tools for Class Authors. 作為一個"class user",有些部分第一次是可以略過的。13章很重要,要細讀。初始化,複製,賦值,右值引用是C++裡很微妙很重要的部分,別的語言對於這些概念很少有區分得這麼細的。這一章不但要精讀,還要完全掌握。14章的運算子過載第一次可以觀其大略;14.9節第一次可以跳過。15章講OOP,重要性不言而喻。如果之前一點概念都沒有,學起來會覺得比較抽象。網上關於OOP有很多通俗有趣的文章,可以一起看看。16章講泛型程式設計,第一次讀16.1節,掌握最基本的函式模板和類模板就行了。Part4就更高檔了,很多內容第一次就算啃下來,長久不用又忘了。第一次讀推薦把18.2節讀懂,名稱空間簡單易用效果好。別的內容可以觀其大略,用時再看。17.1節的tuple是個有趣的東東,可以讀一讀。17.3節的正則表示式和17.4節的隨機數也許有用,也可以讀一讀。如果需要讀寫檔案,要讀一下17.5.2節的raw I/O和17.5.3節的random I/O。最後給題主的建議是,寫C++,要儘量避免C的寫法。用static_cast而不是括號轉換符;用vector而不是C裡面的陣列;用string而不是char *;用智慧指標而不是原始指標。當然I/O是個例外,printf()還是比cout好用的;轉換數字和字串時sprintf()也比stringstream快