动态分配/撤销内存new和delete
2014-08-06 09:10
309 查看
动态分配内存是与静态分配内存相对的。当处理一个简单问题时,也许400字节的内存就够用了。那么这时静态动态分配都可以。那么当需要几百MB、甚至GB时,很显然静态分配这么大的内存,其开销太大了。如果不能全部利用其空间,就会造成内存的浪费,闲置不用。所以动态的分配内存,根据需要来分配大小。当一次性不能申请足够的内存时,可以分段的申请,进行处理,然后再申请,再处理,。。。最后再汇总。这给程序员很大的灵活性,有了灵活性就与管理它产生了矛盾。对于习惯了有gc垃圾回收功能语言的程序员来说,自己管理内存就是噩梦。
C++中使用new与delete配套。而取代了C语言的malloc与free函数。千万不要混合使用它们。先new再free或先malloc或delete。
动态申请一片内存:
new 类型 [初值]
int *tpMem = new int[10]; //申请一个数组
数组要用delete []tpMem; 来删除。
C++中使用new与delete配套。而取代了C语言的malloc与free函数。千万不要混合使用它们。先new再free或先malloc或delete。
动态申请一片内存:
new 类型 [初值]
int *tpMem = new int[10]; //申请一个数组
数组要用delete []tpMem; 来删除。
#include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int *tpMem = new int(200); //申请 *tpMem = 500; //赋值 cout<<*tpMem<<endl; //输出 //清理内存 if(tpMem){ delete tpMem; tpMem = NULL; } printf("\n"); return 0; }刚开始接触语言,最好先养成良好的习惯。否则,一旦深入将付出更大的代价。
相关文章推荐
- new和delete运算符用于动态分配和撤销内存的运算符
- 2017.8.21 动态分配和撤销内存的运算符new和delete
- new和delete运算符用于动态分配和撤销内存的运算符
- new和delete运算符用于动态分配和撤销内存的运算符
- c++:动态内存分配(new和delete的使用)
- c/c++ 补漏之动态内存分配,malloc,free,new delete (一)
- 类和动态内存分配,类成员的动态内存分配,new,delete,定位new
- 用new和delete运算符进行动态分配和撤销存储空间
- C++动态内存分配(new/new[]和delete/delete[])详解
- [008]new、delete及动态内存分配
- C++数组的动态分配(new)、初始化(memset)和撤销(delete)
- 动态内存分配- new/delete 和malloc/free的区别
- 数组的动态分配(new)、初始化(memset)和撤销(delete)
- 二维数组的动态分配(new)、初始化(memset)和撤销(delete)
- 动态内存分配(new delete)
- c++动态内存分配(new/new[]和delete/delete[])
- 用new和delete运算符进行动态分配和撤销存储空间
- 动态内存分配(new delete)
- 第十五周 项目3:(2)用new和delete运算符进行动态分配的撤销存储空间
- 二维数组的动态分配(new)、初始化(memset)和撤销(delete)