测试类:
struct test
{
test(int size = 1)
{
ary = new int[size];
}
~test()
{
delete[] ary;
ary = nullptr;
}
int *ary;
};
用法1——当作关键字用,会做2步:1.先开辟空间。2.后调用构造函数。
test *a = new test(10);
用法2——当函数用,相当于malloc,单纯的开辟空间。
test *b = (test *)operator new(sizeof(test));
用法3——重定位new,在已经开辟好的空间上调用构造函数分配对象。
new(b) test(20);