C++中,new和delete运算符究竟如何实现对象的动态创建与销毁?
- 内容介绍
- 文章标签
- 相关推荐
本文共计421个文字,预计阅读时间需要2分钟。
在C语言中,动态分配内存使用 `malloc()` 函数,释放内存使用 `free()` 函数。以下示例展示了如何使用这两个函数:
cint *p=(int *)malloc(sizeof(int) * 10); // 分配10个int类型的内存空间free(p); // 释放内存
在C语言中,动态分配内存用 malloc() 函数,释放内存用 free() 函数。如下所示:
int *p = (int*) malloc( sizeof(int) * 10 ); //分配10个int型的内存空间
free(p); //释放内存
在C++中,这两个函数仍然可以使用,但是C++又新增了两个关键字,new 和 delete:new 用来动态分配内存,delete 用来释放内存。
用 new 和 delete 分配内存更加简单:
int *p = new int; //分配1个int型的内存空间
delete p; //释放内存
new 操作符会根据后面的数据类型来推断所需空间的大小。
如果希望分配一组连续的数据,可以使用 new[]:
int *p = new int[10]; //分配10个int型的内存空间 delete[] p; 用 new[] 分配的内存需要用 delete[] 释放,它们是一一对应的。
本文共计421个文字,预计阅读时间需要2分钟。
在C语言中,动态分配内存使用 `malloc()` 函数,释放内存使用 `free()` 函数。以下示例展示了如何使用这两个函数:
cint *p=(int *)malloc(sizeof(int) * 10); // 分配10个int类型的内存空间free(p); // 释放内存
在C语言中,动态分配内存用 malloc() 函数,释放内存用 free() 函数。如下所示:
int *p = (int*) malloc( sizeof(int) * 10 ); //分配10个int型的内存空间
free(p); //释放内存
在C++中,这两个函数仍然可以使用,但是C++又新增了两个关键字,new 和 delete:new 用来动态分配内存,delete 用来释放内存。
用 new 和 delete 分配内存更加简单:
int *p = new int; //分配1个int型的内存空间
delete p; //释放内存
new 操作符会根据后面的数据类型来推断所需空间的大小。
如果希望分配一组连续的数据,可以使用 new[]:
int *p = new int[10]; //分配10个int型的内存空间 delete[] p; 用 new[] 分配的内存需要用 delete[] 释放,它们是一一对应的。

