C++primer 標準庫類型和內置類型默認的初始化

1.標準庫類型和內置類型動態數組默認的初始化

//1.標準庫類型和內置類型動態數組默認的初始化


string *psa=new string[10];// 10個空的string
int *pia=new int[10];//10個沒有初始化的元素
int *pia2=new[10]();//加上圓括號之後就會要求編譯器對數組做值初始化,在本例中把元素都設置爲0.

//這兩個new表達式都分配了含有10個對象的數組,其中第一個數組是string類型,分配了保存對象的內存空間後,將調用string類型的默認構造函數依次初始化數組中的每個元素。

//第二個數組則具有內置類型的元素,分配了存儲10個int對象的內存空間,但是都沒有初始化。

//加上圓括號之後就會要求編譯器對數組做值初始化,在本例中把元素都設置爲0.

2.標準類型數組和內置類型數組默認的初始化

//2.標準類型數組和內置類型數組默認的初始化



string sa[10];//自動調用string類默認構造函數,各元素初始化爲空字符串
int ia[10];   //ia 在函數體外定義的內置數組,各元素初始化爲0
int main()
{
string  sa2[10];//自動調用string類默認構造函數,各元素初始化爲空字符串
int ia2[10];//ia 在函數體內定義的內置數組,各元素未初始化,值不確定
}

3.標準庫類型和內置類型變量的默認初始化

//3.標準庫類型和內置類型變量的默認初始化

int global_int;   //在函數體外定義的內置數據類型,默認初始化爲0;
string global_s;        //函數體外定義的標準庫類型,默認初始化爲空串
int main(){
int local_int;    //在函數體內定義的內置數據類型,沒有進行初始化,變量值未確定;
string local_s;       //在函數體內定義的內置數據類型,默認初始化爲空串;
return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章