C++问题:对象是什么时候销毁的?怎么销毁的?

2024-11-16 17:49:36
推荐回答(2个)
回答1:

局部声明的对象出了作用域就销毁了,这是C++语言的特性,编译器编译的时候生成了特定的汇编指令,程序运行的时候操作系统先调用对象析构函数然后自动销毁它(也就是释放它所站的内存)。
Stat obj3(3,3.3);是在{}里面定义了,出了{}就要销毁。

回答2:

obj3,出了其作用域,即出了{ }后释放,执行它的析构函数,
obj1和obj2在主函数执行完后释放,分别执行obj2的析构函数和obj1的析构函数,
对象定义时建立,出了作用域释放,但特别要注意作用域运算符{}