首頁/ 汽車/ 正文

「如何系統地學習 C++ 語言」從開發環境到C++進階,應該怎麼辦?

開發環境

如前面介紹的那樣,C++屬於一種靜態的編譯型語言,所以,開發環境配置過程中就需要用到對應的編譯器。

C++有很多編譯器可以用,GCC或GNU Compiler Collection是最流行的C++編譯器之一。

下面是不同作業系統下的編譯器安裝方式。

「如何系統地學習 C++ 語言」從開發環境到C++進階,應該怎麼辦?

Linux

如果你使用的是Linux,可能已經預設安裝了GCC。

如果沒有,可以透過如下命令安裝:

「如何系統地學習 C++ 語言」從開發環境到C++進階,應該怎麼辦?

Linux下的IDE可以選擇Codeblocks IDE或Eclipse CDT在Linux。

macOS

在Mac上,你可以使用Clang或GCC,兩者都是免費的。

雖然GCC支援更廣泛的C和C++標準,但Clang在大多數情況下都能正常工作。

可以使用Homebrew安裝GCC:

「如何系統地學習 C++ 語言」從開發環境到C++進階,應該怎麼辦?

開發工具方面,可以選擇Visual Studio Code或者Xcode。

Windows

在Windows上有很多好的編譯器。

在Windows上,Visual Studio提供了一個C++編譯器,該編譯器還可以構建C語言程式。

Visual Studio有自己強大的、功能豐富的IDE,對於任何開始使用C或C++的人或主要針對Windows平臺的人來說,它是一個很好的選擇。

「如何系統地學習 C++ 語言」從開發環境到C++進階,應該怎麼辦?

如果你想要更符合標準的編譯器,GCC(MinGW)也可以使用,Codeblocks IDE透過設定就可以滿足需求。

IDE方面,Clang是目前比較好用的的工具,除此之外,還有一些跨平臺的IDE,如Eclipse CDT、Jetbrains CLion和Netbeans,它們提供了功能齊全的C和C++開發環境。

最近,Visual Studio Code非常火熱,在很多程式語言比較受歡迎,它也可用於Linux和Mac環境。

C++入門

語法是一種程式語言的核心,也是用C++開發的基礎,就如同我們說漢語、英語一樣,語法定義了C++程式碼的組成和理解方式。

下面看一段示例程式碼:

「如何系統地學習 C++ 語言」從開發環境到C++進階,應該怎麼辦?

#include :這是一個頭檔案庫,將功能匯入到程式中。該命令的含義是程式從一個名的檔案中匯入內容,該檔案代表輸入和輸出流。

using namespace std:指的是來自標準庫(std)的物件和變數名稱,通常用關鍵字std和運算子::來縮寫。

int main ( ): 指定了一個主函式。函式是C++程式的一個重要部分,因為它們在程式碼中定義了一個動作,包含在括號{ }中的程式碼將被執行。

cout(讀作see-out):是一個定義輸出的物件,也就是程式碼中的字串,這裡會輸出Hello World。

return 0:指示程式不返回任何東西,文字字串將是唯一的輸出。

<<:是一個用於命名物件的運算子,而;(分號冒號)則作為一行程式碼的結束標識。

把這些放在一起,就組成了一段完成的C++程式碼。

透過這段簡短的程式碼就簡單的涵蓋了C++中的一些基本語法,如果不首先學會基礎語法,看這段程式碼如同天書一樣,不知道它在做什麼?它有什麼含義?

如果瞭解基本語法,就能夠像看一段漢語一樣輕鬆理解它表示什麼。

基本語法只是入門的一個方面,除此之外還要對如下內容有基本的認知:

函式——一個函式是一組語句,它們共同執行一項任務,每個C++程式至少有一個函式

陣列——陣列是一種資料結構,用於儲存固定大小的同類元素的順序集合

字串- 字串是由字元組成的一維陣列,以空字元‘/0’結束

指標- 指標是變數,其值是其他變數的地址。指標有助於更容易地執行C++任務,有些任務沒有它們就無法執行

引用——引用是一個別名,是一個已經存在的變數的另一個名字。如果一個引用被初始化為一個變數,那麼這個變數的名字和引用的名字就可以交替使用來指代這個變數

類和物件——類是C++的一個關鍵特徵,透過將資料表示和操作該資料的方法結合到一個包中來指定一個物件的形式

多型——多型意味著有多種形式。在C++中,這指的是呼叫一個數值函式導致不同的函式被執行,這取決於呼叫該函式的物件的型別

「如何系統地學習 C++ 語言」從開發環境到C++進階,應該怎麼辦?

C++實戰

在入門C++並學習了一些C++程式設計技巧後,接下來需要做的就是把它們好好利用起來了,在實戰中打磨並熟練C++。

做到這一點的一個方法是透過做一個專案來了解該語言的各個方面是如何結合起來的。

目前Github上有很多相關的專案,我們可以透過閱讀相關的程式碼,理解它的實現過程,然後自己復現相關的專案來起到實戰的作用。

也可以根據自己感興趣的領域,給你尋找一些相關的需求場景,然後透過C++實現相應的工具或者軟體。

例如,開發一款簡單的小遊戲、實現一個文獻翻譯工具、開發一個簡易的計算器等等。

C++進階

中級和高階C++程式設計建立在基礎知識之上。

《C++ Crash Course》一書的作者Lospinoso說,在中級階段,程式設計師需要了解引用和指標如何工作。支撐最強大的C++功能的其他核心概念,例如,物件生命週期和多型。

對這些概念如何理解、如何使用,以及如何高效的應用於專案中,則是走上進階路線上必須學會的。

在進階之路上,一個C++程式要做的就不再是如何透過基本語法或者面向物件程式設計去實現一項功能或者一個系統,而是學會並熟練通用程式設計、泛型程式設計,也就是說,需要考慮程式碼的通用性、可擴充套件性,以便後續可以更好的向後相容,以及更加容易適應多平臺的需求。

如果大家想好好學習C/C++的話,

為了幫助大家,輕鬆,高效學習C語言/C++,給大家分享我收集的資源,從最零基礎開始的,

幫助大家在學習C語言的道路上披荊斬棘!

程式設計學習書籍分享:

「如何系統地學習 C++ 語言」從開發環境到C++進階,應該怎麼辦?

程式設計學習影片分享:

「如何系統地學習 C++ 語言」從開發環境到C++進階,應該怎麼辦?

整理分享(多年學習的原始碼、專案實戰影片、專案筆記,基礎入門教程)

最重要的是你可以在群裡面交流提問程式設計問題哦!

對於C/C++感興趣可以關注小編在後臺私信我:【程式設計交流】一起來學習哦!

可以領取一些C/C++的專案學習影片資料哦!已經設定好了關鍵詞自動回覆,自動領取就好了!

相關文章

頂部