C++學習1:C++入門基礎學習
說自己會C++簡直丟人。大二學了C++,之後資料結構等於又學了一遍,現在真正接觸程式碼了,什麼都不會,因此還是得從頭自學一下。手頭得到一本C++ primer plus,就盡力抽時間把他學一遍吧,不求真的學懂C++,至少不會像現在這麼小白。
說來慚愧,我竟然以為C++ primer plus是C++ primer的升級版,丟人啊。不過也好,C++ primer那樣的神書我就先不去看了,從入門的C++ primer plus學起,感覺策略應該是對的。也提醒一下和我一樣的小白,C++ primer plus和C++ primer就是名字很像,實際沒有關係!
下面主要寫一下之前自己沒有仔細瞭解的內容,估計也就是在筆試題中會用到吧。
C++在C的過程性程式設計的基礎上增加了面向物件的程式設計(OOP)和泛型程式設計。其中泛型程式設計是之前學習中沒有聽說過的一個詞,主要指的是利用模板特性進行的程式設計。
OOP:程式語言要處理的兩個部分是演算法和資料,OOP強調的是資料,C++中的類就是一種規範,用來描述物件的資料格式,而物件就是在類的規範下構造的資料結構。其中重要的概念有:重用程式碼、訪問控制、多型、繼承等。
泛型編碼:泛型程式設計就是以獨立於任何特定型別的方式編寫程式碼,也就是可以理解為獨立於特定型別的程式設計。恕我見識短淺,這是我第一次聽到這個詞,在之前所學的書中是沒有提到的。其目標與OOP程式設計相同,使重用程式碼和通用概念的技術更簡單。C++的資料有多種型別——整數、浮點數、字元、字串、使用者定義的、由多種型別組成的符合結構。例如,要對不同型別的資料進行排序,通常必須要為每種型別建立一個排序函式。而泛型程式設計就是針對這一問題,對語言進行擴充套件,只編寫一個泛型函式就可完成對不同型別的資料的處理。C++模板提供了完成這種任務的機制。
C++程式碼的執行過程:
主要就是兩個部分:編譯和連結。編譯就是將原始碼編譯為彙編程式碼然後生成目的碼(機器語言)。連結是將目標函式同使用的其他目的碼和庫程式碼組合起來,生成可執行程式。