堆是一大堆不连续的内存区域,在系统中由链表将它们串接起来,为了隐秘起见,堆中的每个内存单元都是匿名的,因此必须先在堆中申请一个内存单元的地址,然后把它保存在一个指针中,这样只由使用该指针才能访问到该内存单元中的数据。
C++中使用new创建一个堆并分配内存,在new后面跟一个分配的对象类型,编译器根据类型分配内存,如下示例:
int *p; //定义了一个指向整型的指针变量p
p = new int; //用new创建一个int类型的内存区域,将该内存区域的地址赋给了指针变量p
以上为创建堆的方法,很容易吧,自己试试吧!!!
特别注意:
由于计算机的内存是有限的,因此可能出现没有足够的内存空间而无法满足new的请求,这种情况下new 会返回0,该指针即为空指针,另外空指针不会指向有效数据.另外还会引发异常。就需要对异常进行处理了哦!!!try{}catch(){}这时就有用了哦~