再问个关于delete的问题比如我有个Test.h,我在这个头文件里定义了一个类,Test{public:}然后再建个Test.cp
再问个关于delete的问题
比如我有个Test.h,我在这个头文件里定义了一个类,Test{public:};
然后再建个Test.cpp
我在这个文件里的main方法里建创了一个Test类的对象*test
我看书上说建创对象用完要释放,我要释放这个test对象是在main方法返回值之前delete test;吗
如果在delete test;之前调用了别的方法,并出了异常,下面的delete test是不是不会执行了,
c++有没有类似于java的finally块
比如这样,无论方法是否有异常,都会去执行finally块,把test释放.
try{
}catch(Exception ex){
System.out.println(ex);
}finally{
delete test;
}
表达能力有限..
[解决办法]
- C/C++ code
int main(){try{ }catch(Exception ex){ }catch(...){ } delete test; }
[解决办法]
首先,你写的不是c++代码
c++里面没有finally机制
如果你用Test test;定义的对象,则不需要delete
如果你用Test *test = new Test();创建对象,则可以有如下2个处理方案:
1.
try{
}
catch{
delete test;
return; //在此处返回
}
2.
try{
}
catch{
//此处不返回
}
delete test;
[解决办法]
ms智能指针可以达到楼主的所说的效果~~~·不确定 期待高手~~~
另外c++ 里main 叫主函数~~~~
c++里没有方法一说~~~java的方法,c++叫成员函数
[解决办法]
没有异常不会。
应该是catch(...) 