177 字
1 分钟
C++入门 (十) : 析构函数
析构函数在销毁类对象时运行.
堆上的对象和栈上的对象都会调用析构函数,堆上的对象是在delete时调用,栈上的对象是在作用域结束时自动调用
class Entity{public: float X, Y; Entity(){ X = 0.0f; Y = 0.0f; std::cout << "Constructed Entity" << std::endl; }
~Entity(){ //析构函数 std::cout << "Destoryed Entity" << std::endl; }
void Print() { std::cout << X << "," << Y << std::endl; }};void Function(){ Entity e; //栈分配的类对象,调用构造函数 e.Print(); // 0,0 //对象离开作用域,调用析构函数}
int main(){ Function(); std::cin.get();};结果是:

析构函数很少进行手动调用,如果你想手动调用可以这样:
e.~Entity(); C++入门 (十) : 析构函数
https://dingfengbo.vercel.app/posts/c入门/10-c析构函数/