c++ 申请和释放动态堆内存

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
void funcc(){

// C++的写法在开辟和释放内存时,会调用构造函数和析构函数
// 动态申请堆内存,保存对象
Teacher *t1 = new Teacher("Jack");
// 释放堆内存
delete t1;

// C的写法在开辟和释放时,不会调用构造函数和析构函数
Teacher *t2 = (Teacher*)malloc(sizeof(Teacher));
free(t2);
}

void funA(){
// C数组
int *p1 = (int*)malloc(sizeof(int)* 10);
p1[0] = 1;
free(p1);

// C++
int *p2 = new int[10];
p2[0] = 2;
delete[] p2;
}