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

  

C++的对象数组创建及删除,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。