//常量,必須初始化,之後不可作爲左值
const int ival=1;
/*
變量
1.如果是全局內置類型變量,會進行默認初始化,初始化爲0或者空串,false
2.如果是局部內置類型變量,未經過初始化就使用會導致錯誤,編譯失敗
3.如果是類類型對象,取決於默認構造函數
*/
int ival1;
/*
整型指針,可以進行算術運算,移動單位取決於指針類型,解引用前需確保指針所指空間不爲空
*/
int* ival2=&ival1;
/*
整型指針的指針
*/
int **ival22=&ival2;
/*
整型變量的引用,不是對象,沒有內存空間,沒有地址,只是別名而已,不存在引用的引用,不存在引用的指針,必須初始化,之後不可解綁
*/
int& ival3=ival1;
/*
整型指針的引用
*/
int* (&ival4) = ival2;
//語法錯誤,因爲引用不是對象,沒有內存空間,沒有地址,不存在引用的指針,不存在引用的引用
int& (* ival5);
//語法錯誤,因爲引用不是對象,沒有內存空間,沒有地址,不存在引用的指針,不存在引用的引用
int& (& ival5);
/*
頂層const,表示這個整型指針是常量,必須初始化,且不可重新賦值
*/
int* const ival6 = &ival1;
/*
整型引用,這裏的const沒有意義,因爲引用本身定義的時候就必須初始化,且一旦綁定就不可解綁
*/
int& const ival7 = ival1;
//底層const,表示整型常量的指針,指針可以重新賦值,但不可用指針修改整型常量
const int* ival8;
//底層const,表示整型常量的引用,引用任何時候都需要初始化,且不可重新賦值,這裏const表示不可通過引用修改原常量
const int& ival9=ival1;
//整型常量的指針常量,必須初始化,既不可修改指針,也不可修改指針所指對象
const int* const ival = &ival1;
//整型常量的常量引用,必須初始化,不可修改引用,不可修改引用所引對象
const int& const ival = ival1;
return 0;
【C++】C++複合變量的定義及易錯點
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.