如何系統的學習C (亡羊補牢,為時不晚)

2021-08-19 17:14:20 字數 2108 閱讀 6457

然後,由於c++是一門系統級語言,我想你需要到大三學習作業系統的時候,才會明白棧與堆、記憶體管理等更深層次的含義。但是,在明白這些概念之前不會妨礙你利用c++做一些事情,比如寫乙個簡單的xml parser。這個時候,你應該會發現很多問題,如效率,**規範等,這個時候,你可以研究effective c++,google c++ code standard等,只有自己犯了錯,回過頭反省才會更加深刻。

隨後,你可以更加深刻的去思考c++,你需要閱讀《the design and evolution of c++》。這本書的閱讀,會教會你很多,是對你影響最大的c++書籍。如果你對c++編譯器的一些細節有興趣,深入c++物件模型可以推薦。如果你對stl的一些實現有興趣,可以去翻翻stl源**(很多人推薦stl原始碼剖析,但是我沒有閱讀過,我沒有辦法發表是否應該推薦的觀點,列出來供你自行判斷是否應該閱讀)。

到這一步驟,我想你應該可以稱為c++ programmer了,剩下的就是實踐中發現問題,然後補足自己。

此外,由於c++博大精深,應用的範圍多如牛毛,特定方向所需要的知識未列舉。比如你要研究android的ndk什麼的,那就是屬於你後面的事情了。

下面轉來一些另一位的關於c++學習書籍的建議作為參考:

不了解c++的人先認識一下c++(系統學習材料附後)。

effective c++ 3e 條款1:視c++為乙個語言聯邦

為了理解c++,你必須認識其主要的次語言。幸運的是總共只有四個:

- 要系統學習c++,自然離不開學習資料。。。

系統學習之

c++ primer 第五版 (豆瓣) stanley b.lippman

可不看的書:the c++ programming language(新手未必參透),

essential c++(lippman的入門小書,不夠系統)

規範使用之

effective c++ 第三版 (豆瓣) meyers

effective stl (豆瓣) meyers

可不看的書(講解都遠不如effective系列細緻,並且和以上兩本有相當可觀的重複條目):

c++ coding standards(中譯名:c++程式設計規範 ),

exceptional c++(系列)

分類學習之

1. c++標準程式庫:自修教程與參考 (db) nicolai m. josutti stl使用必看!

(先學會怎麼用,對照effective stl)

2. stl原始碼剖析 (豆瓣) (看看容器、迭代器、演算法、函式物件乃至分配器的實現技巧)

3. 超越c++標準庫:boost庫導論 (豆瓣) (boost有比較完善的doc。可不看的書:《boost程式庫完全開發指南》有點囉嗦)

the boost c++ libraries 第二版(sept. 2014)

這本書也非常實用,附帶講解,適合入門!第二版基於 boost 1.55.0 和 1.56.0 。第一版的中文翻譯:

highscore - boost c++ 庫

boost.asio c++ network programming(一本很好的網路程式設計入門小書)

4. sgi stl programmer's guide (stl的話可以參考sgi的程式設計指南)

後續:effective modern c++ (豆瓣) meyers新作!新的c++特性,必看啊!

more effective c++ (豆瓣) meyers (這本書沒有再版 裡面部分內容在effective c++ 第三版中有提及,所以可以放到後續裡再看)

c++templates (豆瓣)

c++設計新思維 (豆瓣) andrei alexandrescu

- 要系統學習c++,離不開敲**(呵呵)

閱讀書本,檢視文件,實踐專案這些都是學習的通用手段,每個人都明白。要訓練的是讓自己更為高效的掌握這個輸入輸出不斷迭代的過程。系統掌握一門語言,其實也挺難的,有側重的掌握功能構件,循序漸進,一一擊破也許更為恰當。

不看書不看資料肯定是不行,你畢竟要學習的是c++啊,不可能按照別的語言習慣去寫,不可能只侷限於實現功能,特別是c++還提供了這麼多精彩的入門與深入的學習資料。

最後,感興趣的可以搜搜這篇文章:

「典型的c++ 程式設計師成長經歷 」

如何系統的學習linux

1 2 3 49,了結系統結構 等你有了一定的系統管理知識,知道了 etc下那些配置檔案有什麼用,知道了一般的網路伺服器如何配置後,就可以去了解系統結構了.了解系統結構不是要你去看什麼資料夾放什麼內容,而是要學習一些原理性的東西.比如系統是如何引導的,引導後啟動了那些東西.系統中哪些是最基本的庫檔案...

如何系統的學習linux

正規linux教材 讀過各發行版自帶的入門文件,系統定製文件,系統管理文件和系統安全文件,作業系統和計算機網路等和linux學習十分密切的專業課程,1,linux不是玩具 請忘記windows的思維方式,慢慢感受和習慣linux的操作方式,總有一天你會真正體驗到他的奧妙所在,從而從自己內心深處喜歡他...

前端學習入門,如何系統的學習前端?

接下來的一段時間裡,將給大家講述網際網路時代,最前沿 最火爆的web前端,分享最落地的前端學習方法。行業中有一句話叫 木訥和遲疑是 前途的劊子手。所以哪怕以後不從事也要了解,什麼是前端,什麼是seo,如何抓住大資料的風口,更好的經營自己的事業。在學習過程中有什麼不懂得可以加我的web前端學習交流扣扣...