-
1 # 宋曉庚寫字的地方
-
2 # 閱來越好
C ++可以分為幾個部分。
首先,您具有基本的面向物件功能。在C ++中,此功能非常強大。我建議您瞭解有關類中的多重繼承,多型,重寫運算子,建構函式和解構函式,工廠,範圍控制和靜態變數的知識。
其次,有模板。在C ++中,您有很多資料型別,其中所有操作均已定義,但某些關鍵屬性未定義。它是抽象資料型別的一種形式。建立模板例項時,根據模板填寫一些或全部缺少的資訊。模板使您無需編寫程式碼即可擁有一些相當複雜的資料型別(包括混合資料型別)。由於模板的使用量很大,因此程式碼往往非常健壯。
第三,與其他程式進行互動。C ++支援套接字,POSIX執行緒和多個程序。有許多第三方庫可以簡化這些操作。第三方庫還為您提供RPC和CORBA,儘管這些年來使用它們已下降。您絕對應該瞭解被動軟體,主動軟體和被動軟體之間的區別,更多地是要了解潛在的問題和陷阱。您可能會編寫比“您應編寫響應式伺服器”更為開放的解決方案,但是瞭解這些選項將為您提供增加有用的細微差別的空間。
第四,安全性。CERT釋出了一個網頁,其中包含針對C,C ++和Java程式的所有當前推薦的所有安全標準-應避免的事情,要做的事情或類似的事情。在輸入方面,安全性極為重要。輸入應始終經過驗證,但是事情會被遺忘,或者您可以進行的驗證存在侷限性。如果您在這些地方使用安全程式碼,則錯誤或惡意破壞整個系統的風險會大大降低。
我將從列表中的第一個開始,並逐漸精通它。這對其他所有事情都至關重要。您不必是專家,但您必須確信潛伏著沒有大的驚喜。
對於第二,第三和第四部分,我將各學習一遍,並學習一下。如果沒有程式互動,某些模板將毫無意義,高質量的互動意味著對安全性有所瞭解。每一種都很好地混合在一起,一勞永逸,對您有好處。練習,不要讓新資訊讓自己超載,但永遠不要讓它過時。可以長時間保持新鮮。
一旦對這四個方面都充滿信心,您可能會遇到一些反覆出現的問題或某些似乎不完整的領域。同樣,這可能會順利進行。但是,如果您發現自己反覆遇到相同的障礙,那麼您希望檢視一些第三方庫或擴充套件。
Boost可能是唯一如此標準以至於幾乎是標準的一部分。這提供了許多非常有用的幫助程式功能,這些功能使程式設計更加容易。
當涉及到對C ++標準的實際擴充套件時,我只能想到兩種-面向方面的C ++和功能性C ++。它們添加了全新的程式設計形式,對於需要比C ++範例支援更多空間的人們來說,這是非常好的選擇。
資料庫是另一回事。您可能需要熟悉流行的關係資料庫的大量C ++聯結器,但也有面向物件的資料庫和物件關係的資料庫。他們是不同的東西。它們使您能夠以各種方式停留在OO正規化中,這非常好,因為它可以使您的程式設計保持一致。缺點是它們是一種較不成熟的技術,而且相當稀有。但是,如果您編寫的程式需要內部儲存和檢索資料,而不要求任何其他程式可以進入資料庫,那麼您將瘋狂地執行像PostgreSQL或MySQL這樣繁重的工作,並且需要進行所有轉換往返物件。把事情簡單化。
-
3 # 圖靈Air
浮躁的人容易問:XX和YY哪個好;告訴你吧,都好,只要你學就行。切記;不要太浮躁;一定要靜下心來,學業有成一定不是整體問學習捷徑的,都是背後不斷的付出辛苦的。所以心態一定要放正。
勤奮讀書;讀好書;在此為大家推薦這些書籍;都是經典,毋庸置疑!
入門教程
學習任何一門語言都需要一個從入門到精通、從新手到高手循序漸進的過程。不過,對於一個所謂的新手而言,究竟是一個完完全全的新手,還是一個熟悉某種別的語言的“新手”,甚至是在某種語言程式設計領域已經頗有建樹的高手,很難一概而論?不同的C++新手需要不同的入門書籍。
1.《C++Primer》
有“C++的百科全書”,C++程式設計師人手必備。對語法、語義的描述非常細緻和嚴謹,適合有一定經驗的C、C++程式設計師作為工具書和理論指導書使用,但由於其有一定深度,而沒有進階順序的章節安排,所以不適合初學者做為教材使用,價格略高。
2.
《C++Primer Plus》
初學C++不錯的書,覆蓋面較全,章節安排比較合理,由淺入深,也很容易,故因此失去了一些深度。價格比較便宜,但翻譯質量略有不足。
難度:☆
高階教程
3.《Essential C++》
lippman的一部面向初學者的作品。在他寫了那麼後一本primer之後,為何還要寫這麼薄這麼淺的書呢?其實primer對於初學者來說太笨重了,而這本書卻是從不同的方面——C++的本質和組織結構對語言進行闡釋,可以幫助初學者對這門語言有一個大致的瞭解,但知識範圍不很全面,不適合系統學習,讀者需要一定的程式設計知識。
4.《Effective C++》、《More Effective C++》
C++真牛人大手筆,之以條款的形式回答了程式設計師在使用C++時經常提出的“因該注意些什麼?”,“因該避免什麼?”,“因該怎樣去解決?”,“為什麼?”等問題。C++程式設計師想要讓自己的水平上更高的檔次,此二書必看。價格稍貴,有一定難度,不適合初學者。
5.《C++程式設計思想》
除了講述語言之外,有一定的工程性,從設計者的角度來描述C++怎樣應用在實際的專案中。語言描述的全面性欠佳,但還是有一定精度的,尤其是在一些小技巧方面。本書還引入了大量的戰例,透過一個個的真實專案來引導你使用C++的思想去思考問題。翻譯很差,有一定難度。
進階教程
8.《C++程式設計語言》
C++之父所作,被稱之為“C++聖經”。不僅對語言,而且對語言周邊的一些如發展史、語義哲學都有比較詳細的描述。對語言的描述較為全面,同時包含一部分和程式庫相關聯的知識,並有一定深度,適合有一定語言基礎的初學者,翻譯質量不錯,價格適中。
9.《深度探索C++物件模型》
第一代C++編譯器開發主管所寫。如果你想成為真正的C++高手,看這本書,他為你講述了編譯器在處理各種語法時在“後臺”所做的事。對C++有較深入瞭解的讀者會在讀後有恍然大悟之感。候傑翻譯,質量相當不錯,但內容太深,只適合對C++有較深瞭解的讀者,價格偏貴。
10.《C++程式設計教程》(錢能-清華版)
華人所著,華人水平實在有限,深度和廣度欠佳,放在這十大里實在是因為再挑不出好書了。可圈可點之處有講解較為清析、簡單,符合中國學生思路,價格便宜。
難度:☆
書讀得很好了,實踐是必須的!!!
學習開源,就儘可能在程式碼裡找答案,而不是在程式碼之外找答案。
找工作,走向崗位,走向生活!!
崗位要求:從事c/c++開發3年以上,熟悉作業系統原理,精通linux/unix作業系統命令,可以在linux/unix作業系統環境下進行開發;學習能力強,能獨立完成開源軟體原始碼的研究、破解工作,有開源專案開發經歷、python或其他指令碼語言開發經歷的優先。
工作中要學會做筆記;程式設計師編碼過程中總會碰到很多 bug,這些 bug 都應該算是我們的一種閱歷,非常想把這些犯過的錯誤記錄下來。
寫讀書筆記的好處
人腦不是電腦,看過的東西是會忘的,學過的東西也是會忘的。
當你看完一本書,或是文學的或是科學的,多少會學到記住一些東西。這時候,切切不可想當然的以為,這些東西你學到了,就會忠誠的永遠追隨著你。
讀書筆記則會很好的幫助我們,在知識即將遠離自己的時候,又快又準的把他們給拽回來,不需要重新去啃一遍大部頭。當然我也從來不否認重讀經典的益處,只是在時間如此珍貴的當前,親筆書寫讀書筆記確實不失為澆築學識之樹常青的甘露,不至於還要去重新栽種一棵。
寫部落格,面向開發者的知識分享社群。讓自己的力量貢獻給許許多多的年輕人。
為什麼要寫博文
寫一篇博文意味著要花一定的時間,有時候可能是一個小時,有時候可能會更多,於是人們開始去copy。在這個Ctrl+C越來越盛行的年代,我們還是輸了,於是乎在我們的國度裡,我們的計算機書算是輸給國外的精英了。我們也有優秀的程式設計師,有優秀的工程師,只是在其中能與大眾溝通的又有多少。我們的終端使用者可從來不會管你用的是什麼技術,他只懂得什麼是體驗,什麼是速度等等。至於你說的東西,他不知道,也不會在乎。
回覆列表
不知道您說的快速學習C++是指的什麼用途,最終要達到一個什麼標準。
如果您是一個學生,期末要滿足考試及格的話,您完全可以看網上的影片教程,比如三十天精通c++,c++快速入門之類的,這裡我推薦一個小甲魚c++基礎,說的比較生動,知識線索比較清晰,看完之後把講到的例子敲一遍基本可以應付考試。
如果您是為了在工作中能夠快速上手,能做專案,解bug的話,c++其實不太好快速入門。行業裡有一句話:c語言是最難精通的語言,c++是最難入門的語言。工作了十年,我還是感覺這句話說的很有道理。學完linux核心的c語言程式碼,您會感覺自己完全不懂c語言,c語言變化非常多,入門容易,但是成為大牛太難了。
c++語言的語法比較複雜,標準又很多,一個c ++的11標準就夠你學一陣子的了。而且還涉及到底層的指標,記憶體操作,資料結構,還涉及到面向物件程式設計思想,過載,繼承,封裝,多型這些概念都需要深入理解。
如果您在工作中想盡快的學習c++,我勸您一邊看工作中的程式碼,一邊把c plus plus primier 這本書前七章過一遍。這本書總共分三個部分,前七章是基礎知識,會把類,過載,c ++的語法基礎講解一遍。您看完之後可以看懂c++程式碼,您專案的基本需求可以滿足。
如果有餘力,可以把第二部分也就是STL的章節看完,這部分大概二百頁,涉及到資料結構的演算法,可以快速的看完,有個瞭解。第三部分是這本書的精華,也就是如果您想成為c++大牛,就要精通第三部分,就是類的使用者這一部分。