【发布时间】:2021-03-30 09:58:02
【问题描述】:
是在对象被销毁之前还是在对象被销毁之后调用析构函数? 我认为它是在对象被销毁之前调用的,因为在对象被销毁后我们无法访问该内存以释放其中的任何资源,但如果我错了,请纠正我,以便我能很好地理解它
#include <iostream>
#include <cassert>
#include <cstddef>
class Check
{
public:
int neu{};
Check() = default;
Check(int n)
{
neu = n;
}
void print()
{
std::cout << neu << std::endl;
}
~Check()
{
std::cout << "It has been destroyed "<<neu <<std::endl;
}
};
int main()
{
Check let,see(30);
let.print();
return 0;
// does destructor gets called here
} // or does destructor gets called herecode here
【问题讨论】:
标签: c++ class c++17 destructor