Posted on 2006-02-23 15:55
quite 阅读(1089)
评论(1) 编辑 收藏 引用 所属分类:
求助
//请问什么叫“释放内存”?
#include<iostream>
int main()
{
using namespace std;
int *ps=new int;
int *pq=ps;
*ps=4;
cout<<*ps<<endl<<endl<<*pq<<endl<<endl;//输出两个 4
delete pq;
//delete ps; 加上这条语句后,下条语句不会输出,另外,系统报错。
cout<<*ps<<endl<<endl;//-527665236 ???不明白到底什么叫释放内存。另外,“一般来说,不要
//创建两个指向同一个内存块的指针,因为这样将增加错误地删除同一个内存块两次的可能性”
//为什么同一个内存块不能删除两次?理论上是没有必要,但真正这样做了,会有什么后果??
return 0;
}