天天看點

零基礎C++程式設計(重寫版)

停更了三個月的我終于回來了!為了兩個考試,我整整備考了三個月,9月19号,最後一個考試結束了!!!

好了,由于之前那個C++ 程式設計教程不是死了嗎,今天來一個重寫版的,就是一切從頭開始。

警告:本篇文章是理論知識,可能會有些枯燥,不想看的可以不看,但是像我一樣要考試的一定得看,都是考點!

還有就是,我會盡量把文章進行三平台同步發出,

正文分割線

C++是什麼

首先,程式設計語言有三代。

  1. 機器語言:就是一堆0和1,甚至還有打孔的,學起來賊難,目前幾乎沒人用。
  2. 彙編語言:就是機器語言+助記符。啥是助記符?舉個例子,假如0101010表示加法,我們就可以用ADD代替0101010,也就是1+1寫成1 ADD 1,而不用1 0101010 1。是以彙編語言隻不過是套了層皮的機器語言,但至少好學一點,目前還有人用。
  3. 進階語言:這種語言就很貼近與日常生活,代碼邏輯再也不用按照計算機的邏輯寫了,隻需要按照一般人的邏輯寫就行了,1+1寫成1+1就行了。世界上第一個進階語言是Fortran。

其中,進階語言又分兩類,面向過程以及面向對象。

簡單來說,面向過程需要告訴電腦做什麼、怎麼做,而面向對象隻需要告訴電腦做什麼就行了。

C++就是面向對象的進階語言。世界上第一個面向對象的語言叫Smalltalk

注:有些人可能聽說過C語言,C其實是C++的前身,但C是面向過程的,C++就是把C加上了面向對象的東西,C++其實最早叫“帶類的C(C with classes)”,并且幾乎所有的程式設計語言都和C有或多或少的聯系

進階語言還有一種分類方法:編譯執行和解釋執行

首先,編好程式要讓電腦聽得懂,編譯執行就是全部翻譯成機器語言後再讓電腦執行,解釋執行是翻譯一句執行一句,然後在翻譯下一句。

C++屬于編譯執行。

不過,不管是編譯執行還是解釋執行,都需要一個編譯器/解釋器,相當于翻譯官,負責将全部代碼/一句代碼翻譯成機器語言。

C++的編譯器叫做g++,是以有些地方也把C++叫做g++,C++還有一個别名叫Cpp,因為加的英文plus的首字母是p,C++代碼的檔案字尾名就叫.cpp(xxx.cpp)。

C++的頭檔案

之前我們把頭檔案比喻成說明書,今天來講點硬核的,看不懂的可以看下面的原來的C++程式設計教程。

頭檔案其實是一種C++程式,隻不過它的字尾名一般是.h。一般情況下,頭檔案裡面都是寫一些函數、類的定義的,就相當于“怎麼做”,面向對象語言可以省略“怎麼做”,很大程度上是因為這些頭檔案(Python、Java等面向對象語言沒有頭檔案的感覺是因為頭檔案系統已經自動幫你們加上去了),是以我才會說頭檔案相當于說明書,但實際上,頭檔案想寫什麼寫什麼。頭檔案是不能直接用g++編譯的,如果你非要編譯,出一對.gch垃圾檔案我不管。但是你可以在C++代碼的上方加上一行

​#include <xxx.h>​

來使用頭檔案。加上了這行代碼,就相當于将頭檔案裡的所有内容複制到你的代碼裡。

C++的命名空間

之前說命名空間就像工具箱,繼續說具體。

首先,有很人會用C++開發大軟體(比如MC的基岩版就是用C++開發的),有些時候,大家寫一些自己的函數、類(相當于“怎麼做”)的時候,取名字會有選擇困難症,有些時候就要和其他函數或變量或類重名,重名就會導緻你用一個函數或類就不知道你用的是哪個。于是命名空間應運而生,它可以把一個函數或類放在一個命名空間裡,另一個放在另一個命名空間裡,使用時隻用點明是那個命名空間裡的函數就行了。相當于兩個班都有小明,叫的時候隻用叫“A班的小明”或“B班的小明”就行了。

C++内置的頭檔案(不包括C也有的,因為C沒有命名空間)内定義的函數、類都放置于std命名空間裡。

總結

今天我們講了C++的理論知識,頭檔案、命名空間的概念。

下集預告

g++安裝方法(Windows、Linux、MacOS三系統都有)

繼續閱讀