C++的對象數組創建及刪除


<學習筆記>

  以前一直對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)};//這樣既可對第一個第二個對象的構造函數進行選擇並初始化,否則默認參數為空的構造函數初始化

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM