C++ new和delete运算符讲授
发布时间:2021-05-26 10:08:10 所属栏目:编程 来源:互联网
导读:在C说话中,动态分派内存用 malloc() 函数,开释内存用 free() 函数。如下所示: int * p = ( int *) malloc ( sizeof ( int ) * 10 ); //分派10个int型的内存空
在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[] 开释,它们是逐一对应的。 和 malloc() 一样,new 也是在堆区分派内存,必需手动开释,不然只能比及措施运行竣事由操纵体系接纳。为了停止内存泄漏,凡是 new 和 delete、new[] 和 delete[] 操纵符应该成对呈现,而且不要和C说话中 malloc()、free() 一路混用。 在C++中,提议行使 new 和 delete 来打点内存,它们可以行使C++的一些新特征,最明明的是可以自动挪用结构函数和析构函数,后续我们将会讲授。(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |