为了账号安全,请及时绑定邮箱和手机立即绑定

已经归还了内存 而且地址p已经为空了 为什么还是会出现p的内存大小呢

Line *p=new Line(1,2,3,4);

delete p;

p=NULL;

cout<<sizeof(p);

正在回答

2 回答

delete是归还你申请的内存,但是这个指针依然还是存在的,置空是为了防止成为野指针,NULL本质也是零,而这个零并不代表数字零,而表示的是内存单元的编号零,所以p还是占用四个字节,因为指针变量本身只占四个字节。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之封装篇(下)
  • 参与学习       70930    人
  • 解答问题       514    个

封装--面向对象三大特征之一,通过案例让C++所学知识融会贯通

进入课程

已经归还了内存 而且地址p已经为空了 为什么还是会出现p的内存大小呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信