为什么析构函数出不来

img

img


很简单希望大家帮忙加解答一下,为什么析构函数出不来?难道是破浪线的原因,破浪线怎么在上面,请求大家解答。

1.析构函数只有当实例被释放的时候才会执行
2.你的类AA是定义在主函数里的,所以生命周期就是主函数的生命周期,只有当主函数结束了,AA才会释放
3.主函数结束,你的进程就结束了,进程结束了,谁来给你执行print?
4.你想观察析构函数如何执行,那重新定义一个子函数,在子函数里实例化AA,然后调用完子函数加个sleep,不要着急结束进程
5.你虽然写了delete a1,但是都写到return 0后面去了,它永远也不会执行

你把return 0写在了两个delete的前面了啊。把return 0放到最后

return 0,提早了。return 0代表着主函数的结束,两种修改方法,第一种是删掉retirn 0,第二种是return0放到最后。


可以看下cpp参考手册中的 c++-析构函数