当需要内存的时候,可以使用new关键字来请求,这是c++管理数据包中富有魅力的一方面。另一个就是delete运算符,它使得在使用完内存后,能够将其归还给内存池,这是最有效使用内存的关键一步,归还或释放(free)的内存可供程序或其他部分使用
int *ps = new int;
delete pa;
这将释放ps指向的内存,但是不会删除指针ps的本身。
不要尝试释放已经释放的内存块,c++标准指出,这种结果将是不确定的,这意味什么事情都有可能发生,另外,不能使用delete来释放声明变量所获的内存。
int *pa=new int;//ok
delete pa;//ok
delete pa;//not ok now 已经释放了一次
int juge=5;//ok
int *pi=&juge;//ok//一个银币的两面
delete pi//no allow;memory not allocated by now
警告:只
int *pa=new int ;//allocate memorry分配存储器 int *ps=pa;//set seconnd pointer too same block 将第二个指针设置为同一块 delete ps;//delete with second pointer;
能用delete来释放new分配的的地址,这不是意味要使用用与new的指针,而是用于new的地址。