c++中的动态内存分配

使用new和delete动态的分配和释放内存

使用new来分配新的内存块,通常情况下,如果成功,new将返回一个指针,指向分配的内存,否则将引发异常,使用new时,需要指定要为那种数据类型分配内存:

Type *Pointer = new Type;

需要为多个元素内存分配时,还可指定要为多少个元素分配内存:

Type *Pointer = new Type[numElement];

因此,如果需要给整型分配内存,可使用如下语法:

int *pointToAnInt = new int;

int *pointToNums = new int[10];

 

使用new分配的内存最终都需要对应的delete进行释放:

Type *Pointer = new Type;

delete Pointer;

也适用于多个元素分配的内存:

Type *Pointer = new Type[numElements];

delete[] = Pointer;

 

对于使用new[...]分配的内存块,需要使用delete[]来释放,对于使用new为单个元素分配的内存,需要使用delete来释放。

 

不在使用分配的内存,如果不释放他们,这些内存仍被预留并分配给你的应用程序。

这将减少可供其他应用程序使用的系统内存量,甚至降低你的应用程序的执行速度,这被称为内存泄露,

应不惜一切代价避免这种情况发生。

posted @ 2019-11-27 20:50  拼命的骡子  阅读(255)  评论(0)    收藏  举报