TanZek's 技术空间

勇往直前,专注于技术...

首页 新随笔 联系 聚合 管理
  7 Posts :: 19 Stories :: 9 Comments :: 0 Trackbacks
问题的提出:
         针对C++的delete运算符的用法,运行下例程序段:

int e=3;
int *p= new int(e);
cout
<<p<<" "<<*p<<endl;
delete p;
cout
<<p<<" "<<*p<<endl;
p
=&e;
cout
<<p<<" "<<*p<<endl;

Output:
0x4a2480 3
0x4a2480 0
0x22ff74 3

为何p在释放后还有其地址存在,且其指向变为初始值?
用char型变量测试,如同,只是改成了初始值""
对于后面的p=&e,为何能够继续运行?

对于内存变量的操作,释放内存空间的真正操作为什么?
posted on 2005-12-19 15:47 TanZek 阅读(98) 评论(0)  编辑 收藏 引用 所属分类: C++

专题:Android  iPad jQuery Chrome OS

博客园首页  IT新闻  知识库  学英语  C++程序员招聘
标题  
姓名  
主页
验证码 *
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
[使用Ctrl+Enter键可以直接提交]
每天10分钟,轻松学英语
网站导航: