使用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来释放。
不在使用分配的内存,如果不释放他们,这些内存仍被预留并分配给你的应用程序。
这将减少可供其他应用程序使用的系统内存量,甚至降低你的应用程序的执行速度,这被称为内存泄露,
应不惜一切代价避免这种情况发生。