1:基本內(nèi)置類型
算數(shù)類型:整數(shù),浮點(diǎn)數(shù),單個字符,布爾類型
void 類型
只有內(nèi)置類型 才有 字面值
左值可以出現(xiàn)在賦值語句的左邊和右邊,變量是左值。
2:初始化,初始化 不是賦值
定義時指定了初始值的對象被稱為已經(jīng)初始化了。兩種初始化形式,復(fù)制初始化(=),直接初始化。
int ival(1024) ? //直接初始化,更加靈活,效率更高
int ival = 1024 //復(fù)制初始化
對于內(nèi)置類型,復(fù)制初始化和直接初始化幾乎沒有區(qū)別,類的構(gòu)造函數(shù)是用來初始化的。
內(nèi)置類型變量的初始化:函數(shù)體外定義的變量都初始化為0,函數(shù)體內(nèi)定義的內(nèi)置類型不進(jìn)行自動初始化
類類型的初始化:通過定義一個或者多個構(gòu)造函數(shù)來控制初始化,如果沒有定義構(gòu)造函數(shù),則調(diào)用默認(rèn)構(gòu)造函數(shù)進(jìn)行初始化
3:聲明和定義
定義:用于為變量分配存儲空間,還可以為變量指定初始值,在一個程序中,變量有且只有一個定義。
聲明:定義也是聲明,向程序表明變量的類型和名字。可以用extern聲明而不定義變量。
如果聲明有初始化式,那么它可被當(dāng)成定義,只有當(dāng)extern 聲明位于函數(shù)外部時才能有表達(dá)式。
extern double pi = 3.14;
4:const限定符,定義常量
const 對象默認(rèn)為文件的局部變量,不能被其他文件訪問,通過指定const 對象為extern就可以在其他文件中訪問了。
c文件中,extern const int i = 50;.h 文件中,extern const int i;
當(dāng)const 變量用常量初始化,將其定義在頭文件中,如果不是常量初始化,那么就在源文件中定義并初始化extern,在頭文件中聲明(extern)
非const 引用只能綁定到與該引用同類型的對象上。
const 引用可以綁定到不同但相關(guān)的對象上或綁定到右值。
double pi = 3.14;int &rpi = pi; X
douple pi = 3.14;const int &rpi = pr;正確。