1.当你不再需要一块内存空间时,必须对指向它的指针使用关键字delete。它的作用是释放内存.把它交还给自由存储区。一定要记住:与所指向的内存区域不同,指针本身是个局部变量。当声明指针的函数返回时,指针的作用域也就结束了,因此被丢弃了。然而,使用关键字new分配的内存不会被自动释放,于是这决内存不能由其它他数据使用。这种情况我们称之为内存泄漏。这种情况被称为内存泄漏是因为直到程序结束内存才能够恢复使用,就好像汁算机“丢掉”了这块内存一样。要把内存释放给自由存储区,使用关键字delete。例如:
delete pPointer;
当你使用delete删除一个指针时,你所他的实际工作是释放该指针指向的内存空间。这相当于把它指向的内存空间归还给自内存储区。而这个指针仍然存在,可以再次对它赋值。
2.另一种可能造成内存泄露的情况是:在没有删除一个指针之前就对其重新赋值。考虑下面的代码:
int *pPointer=new int;
*pPointer=72;
pPointer=new int;
*pPointer=84;
因此,在程序中每次使用new都应当先对它delete一次。保持对指针指向的内存区域的跟踪和保证在使用完之后还给自由内存区域时很重要的。








