首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++对象销毁的纳闷

2012-10-14 
c++对象销毁的疑惑一直不太明白c++对象销毁的过程, 代码#include iostreamusing namespace stdclass X{

c++对象销毁的疑惑

一直不太明白c++对象销毁的过程,

代码

#include <iostream>
using namespace std;
class X
{
?public:
??X(){
??? cout << "X()" << endl;????
???? }
??~X(){
??? cout << "~X()" << endl;

??}
??void show(){
???cout << "show()" << endl;

??}
};

int main(){
?
?X *x = 0;
?cout << x << endl;
?{
??? X *xx = new X();
??? x = xx;
??? cout << xx << endl;

?}
?? delete x;
?? x->show();
?? cout << x << endl;

}

?

结果

0
X()
0x3e4d20
~X()
show()
0x3e4d20

可是?? x->show();还是可以的,那么对象被销毁了吗,还是只是调用了一次析构函数而已。

?

1 楼 ZeaLoVe 2011-11-26   其实析构函数 执行并不释放内存的,内存那个地方还是你原来的对象,所以你还可以调用。。即使释放内存,如果不被重用,东西也一直在的。

热点排行