您的位置:首页 > 其它

条款16 成对使用new和delete时要采取相同形式

2015-09-05 13:23 513 查看
#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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: