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

c++ 析构函数 delete

c++ 析构函数 delete

芜湖不芜 2019-04-13 08:36:40
#includeusingnamespacestd;classBASE{public:virtual~BASE(){cout
查看完整描述

2 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

可以简单地认为C++的变量有两类,一类是在程序初始化时已经分配了固定空间的,另一类是由malloc动态申请的位于堆空间中的;
比如BASEb,那么变量b所在位置、所占空间等都是可以确定下来的,属于已经静态分配完成的变量,由编译器安排了其内存地址,是被写死在可执行文件中的;
而由malloc()/new申请的变量则是动态的,其地址在运行时才被告知,也只有这样的动态分配空间的变量才能被free()/delete释放空间
你的代码想要删除一个被写死在程序中的变量,怎么可能运行成功
                            
查看完整回答
反对 回复 2019-04-13
  • 2 回答
  • 0 关注
  • 416 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信