首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++中,类Class数组长度的有关问题

2012-09-14 
C++中,类Class数组长度的问题看如下代码:注释掉OperatorNewCls的析构函数~OperatorNewCls()后,执行结果如

C++中,类Class数组长度的问题

看如下代码:


注释掉OperatorNewCls的析构函数~OperatorNewCls()后,执行结果如下:

C++中,类Class数组长度的有关问题

差别在于OperatorNewCls数组arr的长度:定义析构函数后,长度为1004bytes,arr[-1]为数组元素个数25;注释析构函数后,长度为1000bytes,arr[-1]为随机数。

为什么定义析构函数后,需要存储数组长度?

可能是因为定义析构函数后,意味着用户需要自己控制“堆内存”的释放,因此需要“对数组里的每个对象,逐个调用析构函数”,所以需要存储数组元素个数。

而不定义析构函数时,意味着用户不会自己控制释放“堆内存”,所以就没必要逐个调用析构函数了,所以就没必要存储数组元素个数了。


热点排行