【发布时间】:2011-03-25 14:36:42
【问题描述】:
在 C++ 中,我们永远不应该在析构函数中抛出异常。此代码是否按预期工作?
struct a
{
~a( ) { }
};
struct b : public a
{
~b( )
{
throw 1;
};
};
bool c( )
{
a* d=new b;
try
{
delete d;
}
catch( int e )
{
return e;
}
return false;
}
【问题讨论】:
-
试着把代码格式化好一点,很难阅读
-
我没有看到任何意图的迹象。谁知道它是否应该工作。
标签: c++