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;
}