无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C++構(gòu)造函數(shù)中拋出異常,不執(zhí)行析構(gòu)函數(shù)的例子

2023-04-09 06:03 作者:淡定的茶  | 我要投稿

演示C++在構(gòu)造函數(shù)中拋出異常時,不調(diào)用析構(gòu)函數(shù),導致資源不能釋放的一種解決方法。


namespace TEST
{
void exception()
{
class A
{
public:
A()
{
cout<<"I am in A."<<endl;
try
{
m_pBuf = new char[100];

throw std::runtime_error("test");
}
catch(...)
{
cleanup();
}
}

~A()
{
cout<<"I will out A."<<endl;
}

private:
char* m_pBuf;

void cleanup()
{
cout<<"i am in cleanup."<<endl;
}
};

A a;

}
}

int main()
{
try
{
TEST::exception();
}
catch(exception& error)
{
cout<<"info is "<< error.what()<<endl;
}
catch (...)
{
cout<<"issue a exception."<<endl;
}

getchar();


return 1;
}


C++構(gòu)造函數(shù)中拋出異常,不執(zhí)行析構(gòu)函數(shù)的例子的評論 (共 條)

分享到微博請遵守國家法律
汕尾市| 马公市| 托里县| 普安县| 敦煌市| 湾仔区| 高邑县| 桓仁| 洛扎县| 临海市| 祁东县| 庆城县| 北宁市| 陆良县| 姜堰市| 许昌县| 淮滨县| 沙洋县| 温泉县| 集贤县| 武清区| 纳雍县| 宁都县| 长春市| 南靖县| 辉南县| 雷波县| 赤壁市| 高尔夫| 偏关县| 龙泉市| 瑞昌市| 青岛市| 永嘉县| 双辽市| 绍兴县| 霍邱县| 汤阴县| 延津县| 武城县| 赣州市|