精通C++聽起來好像就是一個笑話。爲何C++比別的語言難學那麼多?其實這基本上是由於C++之父Bjarne Stroustrup 說過的一句話「我特別的討厭語言的設計者把本身的喜愛強加給用戶」(看向go)。結果C++爲了避免限制你的想法,因而也就變成了如今的樣子-- ,那麼如何學好C++,甚至是出色掌握C++?程序員

1.談談C++的書籍。web
沒有,也不可能有一本書對於全部人來講都是最好的。不過對於那些真正的程序員來講,若是他喜歡從「經典風格」的書中間學習一些新的概念和技術,我推薦個人The C++ Programming Language, 1998年的第三版和特別版。那本書講的是純而又純的C++,徹底獨立於平臺和庫(固然得講到標準庫)。該書面向那些有必定經驗的程序員,幫助他們掌握C++,但不適合毫無經驗的初學者入門,也不適合那些臨時程序員品嚐C++快餐。因此這本書的重點在於概念和技術,並且在完整性和精確性上下了很多功夫。面試

2. 學習C++要花多長時間?編程
這要看你說的「學習」是什麼意思了。若是你是一個Pascal程序員,你應該能很快地使你的C++水平達到與Pascal相近的程度;而若是你是一個C程序員,一天以內你就能學會使用C++進行更出色的C風格編程。另外一方面,若是你想徹底掌握C++的主要機制,例如數據抽象,面向對象編程,通用編程,面向對象設計等等,而此前又對這些東西不很熟悉的話,花上個一兩年是不足爲奇的。那麼是否是說這就是學習C++所須要的時間呢?也許再翻一番,我想打算成爲更出色的設計師和程序員最起碼也要這麼長的時間。若是學習一種新的語言不能使咱們的工做和思想方式發生深入的變革,那又何苦來哉?跟成爲一個鋼琴家或者熟練掌握一門外語相比,學習一種新的、不一樣的語言和編程風格還算是簡單的。編程語言

3. 瞭解C語言是學習C++的前提條件嗎?函數
否!C++中與C相近的子集其實比C語言自己要好學,類型方面的錯誤會少一些,也不像C那樣繞圈子,還有更好的支持庫。因此應該從這個子集開始學習C++。學習

4. 要想成爲真正的OO程序員,我是否是得先學習Smalltalk?設計
否。若是你想學Smalltaok,儘管去學。這種語言頗有趣,並且學習新東西老是一個好主意。可是Smalltalk不是C++,並且把Smalltalk的編程風格用在C++裏不會有什麼好結果。若是你想成爲一個出色的C++程序員,並且也沒有幾個月的時間百無聊賴,請你集中力量學好C++以及其背後的思想。調試

5. 我如何開始學習C++?視頻
這取決於你的基礎和學習動機。若是你是個初學者,我想你最好找個有經驗的程序員來幫助你,要否則你在學習和實踐中不可避免的犯下的種種錯誤會大大地打擊你的積極性。另外,即便你的編譯器配備了充足的文檔資料,一本C++書籍也永遠是必不可少的,畢竟文檔資料不是學習編程思想的好教材。
6. 怎樣改進個人C++程序?
很差說。這取決於你是怎麼使用該語言的。大多數人低估了抽象類和模板的價值,反過來卻肆無忌憚地使用造型機制(cast)和宏。這方面能夠看看個人文章和書。抽象類和和模板的做用固然是提供一種方便的手段建構單根的類層次或者重用函數,但更重要的是,它們做爲接口提供了簡潔的、邏輯性的服務表示機制。
7. 語言的選擇是否是很重要?
是,但也別期望奇蹟。不少人彷佛相信某一種語言可以解決他們在系統開發中遇到的幾乎全部問題,他們不斷地去尋找完美的編程語言,而後一次次的失敗,一次次的沮喪。另一些人則將編程語言貶爲可有可無的細節,把大把大把的銀子放在開發流程和設計方法上,他們永遠都在用着COBOL, C和一些專有語言。一種優秀的語言,例如C++,能幫助設計者和程序員作不少事情,而其能力和缺陷又可以被清楚地瞭解和對待。
學習歷來不是一我的的事情,要有個相互監督的夥伴,工做須要學習C/C++或者爲了入行、轉行學習C/C++的夥伴能夠私信回覆小編「學習」領取全套免費C/C++學習資料、視頻

附:C++教程推薦:
《C語言/C++學習指南》單步調試,《C語言/C++學習指南》語法篇(從入門到精通), C++面試筆試精要,《C語言/C++學習指南》Qt界面開發篇,《C語言/C++學習指南》動態庫和靜態庫,C Primer,用ffmpeg開發屏幕錄製,C++ Boost庫編程,利用webrtc搭建視頻會議系統。
祝福你們!