如果你將來打算從事C++方向的開發,也建議沒有編程基礎的同學先從C語言開始學習,掌握C語言及面向程序的編程思想,接著再學習具有一脈相承的C++語言,不僅可以科學的學習兩門計算機界中最主流的開發語言,更可以體會到軟體開發思想發展的變化,起到到觸類旁通的效果
如何自主學習C++?
首先是一本好的C++書籍(Accelerated C++, C++ Primer),然后以及盡量多的完成書籍的習題,可以幫助完成C++語法的學習,
雖然部分書籍涵蓋了標準庫,但是不夠完善,這個時候你可以選擇在線查閱C++標準庫這種泛型的學習方式,也可以選擇閱讀《C++標準庫》的方式進行學習,通過這樣的步驟,你應該可以完成C++的初步學習了,
然后,由于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語言,建議大家先學習C語言
C++語言是在C語言基礎之上為支持面向物件而設計的這么一套程式語言,而面向物件在C++中的體現就是類的機制,所以C++也稱作是“帶類的C語言的”,那么什么是類?
我們不妨先從C語言的結構體說起,相信大家還有印象,
比如C語言代碼
struct stu { int num; char sex; int math_score; int en_score; int c_score; }; int main() { struct stu A; return 0; }
上面的C代碼定義了一個struct stu的結構體型別,里面有五個成員變數,然后在主函式中又定義了這種結構體型別的一個變數A,這是我們熟悉的C語言代碼,其實呢,C++中的類也類似,只不過比C的結構體高級了一些,不叫結構體了,叫類,而且呢,里面除了可以包含很多個基本變數型別以外,還可以包含很多函式,對于第一節課的初步了解,我們大體了解如此就可以了,例如對應的C++代碼則為:
class stu { int num; char sex; int math_score; int en_score; int c_score; int total_score() { return math_score+en_score+c_score; }; }; int main() { class stu A; return 0; }
大家仔細對比看看,C語言里用struct定義,C++用class定義,其次C++中的class里多了一個函式,這就是C++中類不一樣的,
另外在叫法上也不同,C++類中的成員變數叫做屬性,類里的函式叫做方法,即類擁有屬性與方法兩部分,
當然,除此以外,還有很多不一樣的地方,我們今后慢慢展開介紹,

要是你是屬于沒有C語言基礎的小伙伴,或是對編程C語言感興趣的小伙伴可以加裙,免費獲取這些資源呦,定期發布相關學習筆記和源代碼~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/235187.html
標籤:C
上一篇:田忌賽馬 貪心演算法
