#include<iostream>
#include<string>
using namespace std;
/* 单一对象 : object
对象数组 : n object object object ......
一般编译器的对象数组前放了一个n用来保存对象数组的大小
*/
class NewDelete{
public:
NewDelete(){
cout << "NewDelete()" << endl;
}
~NewDelete(){
cout << "~NewDelete()" << endl;
}
};
void test(){
NewDelete *s1 = new NewDelete;
NewDelete* s2 = new NewDelete[100];
//.....
// delete []s1;
// delete s2;
delete s1;
delete[]s2;
}
int main(){
test();
typedef string AddressLines[4];
string* pal = new AddressLines;
//delete pal;// AddressLines 是一个字符串数组 so 要以下面的方式进行销毁
delete[]pal;
system("pause");
/*总结:new[] 必须与delete[] 成对使用
非new[]一定不要与delete[]成对使用*/
return 0;
}条款16 成对使用new和delete时要采取相同形式
最新推荐文章于 2020-07-07 15:31:24 发布
本文介绍了C++中如何正确使用new和delete操作符来管理对象和对象数组的内存分配与释放。通过实例展示了new[]与delete[]的配对使用原则。
972

被折叠的 条评论
为什么被折叠?



