|
動態(tài)分配數(shù)組時,如果數(shù)組元素具有類類型,將使用該類的默認(rèn)構(gòu)造函數(shù)實現(xiàn)初始化;如果數(shù)組元素是內(nèi)置類型,則無初始化。 可以跟在數(shù)組后面加一對空圓括號,對數(shù)組元素進(jìn)行初始化。 int *pia2=new int [10](); 圓括號要求編譯器對數(shù)組初始化,這里把數(shù)組元素都設(shè)置為0。//對于這里在VC 6.0下測試,輸出為一個很大的負(fù)數(shù),VS 2010中輸出10個0,對此鴨梨很大。 PS:對于動態(tài)分配數(shù)組,其元素只能初始化為元素類型的默認(rèn)值,而不能像數(shù)組變量一樣,用初始化列表為數(shù)組元素提供各不相同的初值。
另外C++種允許動態(tài)分配空數(shù)組 char arr[0];//錯 char *cp=new char [0];//正確,但是不能解引用,因為它沒指向任何元素。
這里補充一點: const char *str=st2.c_str();//st2
是string類型 |
|
|