#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时要采取相同形式
最新推荐文章于 2024-07-07 13:46:43 发布