<學習筆記>
以前一直對C++的對象數組是模糊狀態。前一陣子有了比較清晰的了解。今天有空,再鞏固下。
首先碰到的問題:A *a[10];delete[] a; 為什么出錯?
其實這個不如說成是對象指針數組,a並不是指向所有對象的首地址,而是指向第一個對象的首地址。只能for(int i=0;i<10;i++) delete a[i];
其實想用delete[],必須得對應new[]
A *a=new A[10]; //這樣既可delete[],這時a指向的才是A[10]對象數組的首地址。
其特性很像數組,比如初始化
A *a=new A[10]{(x),(x,x)};//這樣既可對第一個第二個對象的構造函數進行選擇並初始化,否則默認參數為空的構造函數初始化