其实你的程序中析构函数只做了一件事就是输出 析构A,其他的事情没做;析构函数的作用是当对象生命期结束后,收回对象占用的资源;比如你用new创建了一个动态指针程序那么你就要在析构函数中调用delete来释放内存;如果析构函数中什么都没有 例如 ~A() {} 程序结束的时候还是会调用它,但他什么也不做
是不是你显式调用的问题呢!把显式调用去了。是不是还会输出 一个呢,我的理解是:当程序退出时会调用一次析构函数。
话说: 从来没见过这么用的。