#include "stdafx.h"
int count=0;
class A
{
public:
int num;
A()
{
count++;
printf("创建:%d/n",count);
}
virtual ~A()
{
printf("销毁:%d/n",num);
}
};
void dosth()
{
A a[10];
for(int i=0;i<10;i++)
{
a[i].num=i;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
dosth();
getchar();
return 0;
}
结果如下:
创建:1
创建:2
创建:3
创建:4
创建:5
创建:6
创建:7
创建:8
创建:9
创建:10
销毁:9
销毁:8
销毁:7
销毁:6
销毁:5
销毁:4
销毁:3
销毁:2
销毁:1
销毁:0
可以看出对象数组析构是顺序的,而且对象的析构是从后往前进行的