搞不懂了,该如何解决
搞不懂了在这样的视平中,http://ftp5-idc.pconline.com.cn/pub/download/ftpdown/pcsoft/pcedu/video/fanl
搞不懂了
在这样的视平中,
http://ftp5-idc.pconline.com.cn/pub/download/ftpdown/pcsoft/pcedu/video/fanlei/c++/8/c015.html
它说下面的代码要释放对象的,可是在Vs2008中却没有释放
C/C++ code//#include "A.h"#include <iostream>using namespace std;class C{ public : C(){cout<<"构造C对象...\n"<<endl;i=new int(99);} ~C(){cout<<"释放对象....\n"<<endl;delete i;}//在视频中说的要执行的,可在Vs2008中不执行private: int *i;};int main(){ C c; system("pause"); return 0;}
[解决办法][解决办法]C是Main里面的局部变量,它是在Main函数退出后才析构的,你把断点直接下到析构函数里面去,这个会被调用的
[解决办法]程序退出没?main退出时才析构啊,你pause了,还没到析构的时候呀
[解决办法]是在main函数出来的时候清除局部变量c,于是调用析构函数。
楼主可以用命令行运行该程序,就可以看到析构函数的执行了。
[解决办法]跟IDE环境有关,而且照正常来说,你的对象还没有离开它的作用域呢!怎么会析构呢!
[解决办法]跟IDE环境有关,而且照正常来说,你的对象还没有离开它的作用域呢!怎么会析构呢!