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)};//这样既可对第一个第二个对象的构造函数进行选择并初始化,否则默认参数为空的构造函数初始化

  

posted @ 2014-03-28 10:51  随心随想  阅读(4632)  评论(0编辑  收藏  举报