使用靜態類型的編程語言實在編譯時執行類型檢查,而不是在運行時執行類型檢查。C++屬於靜態類型語言。 面向對象四大特性:封裝、繼承、抽象、多態。 標準C++三個重要部分組成:核心語言、C++標準庫、標準模板庫(STL)。 ANSI標準,確保C++的便攜性,我理解為跨平臺性。 C++主要用於與硬體設備相 ...
使用靜態類型的編程語言實在編譯時執行類型檢查,而不是在運行時執行類型檢查。C++屬於靜態類型語言。
面向對象四大特性:封裝、繼承、抽象、多態。
標準C++三個重要部分組成:核心語言、C++標準庫、標準模板庫(STL)。
ANSI標準,確保C++的便攜性,我理解為跨平臺性。
C++主要用於與硬體設備相關的程式、教學和研究、系統的用戶介面等。
七種基本C++數據類型:bool, char, int, float, double, void, wchar_t.
一些基本類型可以使用一個或多個類型修飾符進行修飾: signed, unsigned, short, long.
變數的長度會因為編譯器和電腦的不同而不同,想確定變數的長度的時候,可以使用sizeof()函數來確定。例如sizeof(int),sizeof(bool)等。
想確定最大值和最小值可以用(numeric_limits<類型>::max)()和(numeric_limits<類型>::min)()來確定,例如(numeric_limits<unsigned char>::max)(),(numeric_limits<size_t>::min)()。
枚舉類型限定變數的值,當變數只有幾種可能的值的時候,使用枚舉類型。如果枚舉類型沒有賦初始值的時候,枚舉類型預設從0開始,依次加1。
enum color { red, green=5, blue };
這裡,red=0;green=5;blue=6;
左值(lvalue):指向記憶體位置的表達式被稱為左值(lvalue)表達式。左值可以出現在賦值號的左邊或右邊。
右值(rvalue):指的是存儲在記憶體中某些地址的數值。右值是不能進行賦值的表達式,也就是說,右值可以出現在賦值號的右邊,但不能出現在賦值號的左邊。
三種變數:局部參數,形式參數,全局變數。
局部變數被定義時,系統不會對其執行初始化,必須自行對其初始化。定義全局變數時,系統會自動初始化為下列值:
C++中整數後面加U或u代表無符號整數常量。後面加L代表長整數常量。0x首碼代表十六進位。以大寫L開頭,後面用單引號括起來的字元為寬字元常量(如L'x')。
C++中的bool類型對應的true和false都是小寫。
C++中定義常量的兩種方式:#define預處理器和const關鍵字。
例如:
#define LENGTH 10 const int LENGTH=10;
通常習慣將常量定義為大寫字母。
限定符:
const | const 類型的對象在程式執行期間不能被修改改變。 |
volatile | 修飾符 volatile 告訴編譯器不需要優化volatile聲明的變數,讓程式可以直接從記憶體中讀取變數。對於一般的變數編譯器會對變數進行優化,將記憶體中的變數值放在寄存器中以加快讀寫效率。 |
restrict | 由 restrict 修飾的指針是唯一一種訪問它所指向的對象的方式。只有 C99 增加了新的類型限定符 restrict。 |
volatile 影響編譯器編譯的結果,指出,volatile 變數是隨時可能發生變化的,與volatile變數有關的運算,不要進行編譯優化,以免出錯,(VC++ 在產生release版可執行碼時會進行編譯優化,加volatile關鍵字的變數有關的運算,將不進行編譯優化。)。
參考:https://www.cnblogs.com/reality-soul/p/6140192.html