New 包括两个过程:
分配内存
Constructor
delete 包括两个过程:
Deconstructor
释放内存
例如:
string *stringarray1 = static_cast<string*>(malloc(10 * sizeof(string)));
//只是申请了可以容纳10个string对象的足够空间,
//但内存里并没有创建这些对象
string *stringarray2 = new string[10];
//stringarray2指向的是一个包含10个完全构造好的string对象的数组,每个对象可以在任何读取string的操作里安全使用
分配内存
Constructor
delete 包括两个过程:
Deconstructor
释放内存
例如:
string *stringarray1 = static_cast<string*>(malloc(10 * sizeof(string)));
//只是申请了可以容纳10个string对象的足够空间,
//但内存里并没有创建这些对象
string *stringarray2 = new string[10];
//stringarray2指向的是一个包含10个完全构造好的string对象的数组,每个对象可以在任何读取string的操作里安全使用