大廠程序員教你如何學習C++(內附學習資料)


目前準備面試同學都知道,C++是百度和騰訊的主流開發語言,而java是阿里的主流開發語言。

對於初學者來說,也不用糾結究竟學習c++還是java

其實只要好好掌握好一門即可,另一門即可融會貫通

因爲我自己先後就職於騰訊和百度的工作經歷,所以接觸C++更多一些

我這裏就給大家推薦學習C++,從瞭解到熟悉的各個階段應該看的書

爲什麼不說精通呢,因爲精通C++超出我的範圍 哈哈,所以我只列出學習到熟悉C++的學習過程。

相信國內敢說自己精通C++的也是少數了

言歸正題

首先什麼是C++

如果僅僅以爲C++就是C加上了一些面向對象的特性,說明還沒有真正的瞭解C++

C++發展這麼多年,已經融入了很多元素。

大家可以把C++視爲一門聯邦語言,而非單一語言

C++主要涉及到如下四塊:

  • C語言。說到底C++仍是以C爲基礎的。區塊、語句、預處理器、內置數據類型、數組、指針等等都來自C。
  • Object—Oriented C++。 這部分就是 C With Classes 所訴求的: 構造函數、析構函數,封裝、繼承、多態、虛函數(動態綁定) 等等。
  • Template C++。 這是C++泛型編程的部分,也是大多數程序員經驗最少的部分。Template相關考慮與設計已經瀰漫整個C++,也正是因爲Template帶來了新的編程泛型,就是模板元編程。
  • STL。STL是一個程序庫。容器、迭代器、算法以及函數對象的規約有極佳的緊密配合和協調。STL有自己的一套規則,所以當你使用STL的時候必須要找它的規約來。

我這裏推薦5本書,建議按照我列出來的順序進行學習。

第一本書:C++ primer,豆瓣評分:9.4


這本書是C++經典教程,書中的所有例子均採用了C++11的標準。

書中的教學輔助內容是非常豐富,編程示範也是精心設計,所以這也是C++ Primer一直保持着在C++領域的權威地位的原因。

無論是對初學者入門,還是已經工作的C++程序員提升自己的技術實力,這本書都是首選

看完了本書,可以說入門C++了。

第二本書:effective C++,豆瓣評分:9.6


對於這本書,在C++圈子裏有一個傳言:C++程序員分爲兩類,讀過Effective C++的和沒讀過Effective C++的。

這本書是C++頂級大師scott Meyers成名之作,

看完primer之後,在讀Effective C++,可以快速提升自己C++的功力。

這本書也不是讀完一遍的快餐書籍,第一遍讀的時候可能很多條款領會不到其真正用意。

這就需要反覆閱讀才能體會,這裏蘊藏着C++精神的思想和無與倫比的表達能力。

第三本書:effectiveSTL,豆瓣評分8.9

在這裏插入圖片描述

本書是真的STL的經驗之談,同樣是Scott Meyers大師的力作

書中有50個條款,每一個條款都舉例了在使用STL時候需要注意的地方

並且詳細的分析了爲什麼會有這樣的問題,以及給出相應的解決方案。

此時看完了C++ primer,effective C++,effective stl之後,可以說自己是掌握C++了

第四本書:STL源碼剖析,豆瓣評分:8.7

在這裏插入圖片描述

每一個程序員都知道,提高編程水平的最快捷徑就是剖析大師的代碼。

源碼在手,天下我有。

前輩們的經驗結晶、思維過程、技術思想、縝密風格,都原封不動的體現在源碼之中。

本書講述了各個容器的源碼實現,包括vector、list、heap、deque、Red Black tree、hash tablet、set/map 等等。

還有各種算法的實現,包括排序、查找、排列組合、數據移動、複製技術等等。

看完此書可以說是有一點底氣說自己熟悉C++了,至少比了解更近了一部

第五本書:深度探索C++對象模型,豆瓣評分8.9

在這裏插入圖片描述

這本書重點介紹C++面向對象程序設計的底層實現機制

主要包括結構式語意、臨時性對象的生成、封裝、繼承,以及虛擬函數和繼承

這本書可以讓你徹底瞭解底層實現的機制,這會讓你的代碼執行效率獲得極大的提升。

對於C++底層機制感興趣的讀者,這必然是一本讓你大呼過癮的絕妙好書。

看完此書,可以說自己真的熟悉C++了。

最後呢,也要強調一下,

讀過只是開始,多練多實戰內化成自己的東西纔是王道!

這裏介紹的書籍我都已經幫大家整理好了,而且還準備了primer 的中文版和英文版。獲取方式:

在我的微信公衆號「代碼隨想錄」後臺回覆「C++進階書籍」獲取哈

筆者介紹:

ACM亞洲區域賽銅牌獲得者
哈工大計算機碩士畢業
畢業後先後就職於騰訊和百度
對後臺技術棧和算法有多瞭解
個人微信公衆號:「代碼隨想錄」,分享自己對互聯網以及技術的想法與思考。關注後回覆: 「java」「python」「php」「計算機網絡」「簡歷模板」 等等關鍵字就可以獲得我多年整理出來的學習資料。求職內推也可以來找我,首推百度。騰訊、阿里、頭條等也可以幫忙聯繫。
期待你的關注!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章