热门

最新

红包

立Flag

投票

同城

我的

发布
boom_cpp
sgn_
5 年前
trueboom_cpp

c++的对象在栈上创建时,
(先声明一下这里假设该对象里面没有指针申请堆区内存),
显式调用析构函数时意味着该对象生命周期已结束

我以为会释放掉该对象在栈上的内存
但是结果不是,无法忍受
(编译器和操作系统会在进程结束时调用析构函数释放栈区对象内存,
不论你是否显式调用析构,他都没死,你仍能访问共有成员,你之前显式调用没啥子用,不管你显式调不调用,他仍然存在,依旧会在进程结束时调用析构释放栈区对象内存),
这不是违背了析构函数的初衷吗?

(最后,对于指针成员,delete后千万记得赋值nullptr,防止重复调用出现指针悬挂的问题,堆区创建对象,显式调用析构函数后也要记得指针赋值nullptr)

CSDN App 扫码分享
分享
2
5
打赏
  • 复制链接
  • 举报
下一条:
Leetcode打卡今天晚点争取把链表和树的总结写出来,然后这周停工,我要冲刺学校大作业了,,,下周一再开始继续打卡。大作业杀我(´-ω-`)
立即登录