五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

Effective C++ 第十七條 Store newed objects in smart pointer in stand

2023-01-17 03:30 作者:九思519  | 我要投稿

以獨立語句將 newed 對象置入智能指針

????????在之前的學習中,我們知道智能指針的使用可以在構(gòu)造的時候使用 new .

????????但有的時候,我們也許不僅僅是只創(chuàng)建一個智能指針對象,還會同時使用其他語句

????????在 fun 執(zhí)行之前要申請資源 new int ,構(gòu)造 shared_ptr 還要調(diào)用 getNum ,這個順序又編譯器決定,有可能先執(zhí)行 getNum,也有可能先執(zhí)行new int 、shared_ptr 的構(gòu)建(new int 一定在 ?shared_ptr 構(gòu)造函數(shù)之前)??紤]到一種情況,順序如下

  1. 申請資源 new int

  2. 執(zhí)行 getNum

  3. 構(gòu)建 shared_ptr

????????第一步執(zhí)行成功,第二步出問題,導致程序異常退出,此時尚未構(gòu)建 shared_ptr,new int 申請的資源并沒有相應(yīng)的析構(gòu)函數(shù)來釋放,也就是會造成錯誤。也許編譯器不是按這個順序來的,但是我們要考慮到。所以保險的措施是將構(gòu)建 shared_ptr 和 執(zhí)行 getNum 單獨執(zhí)行。

這樣 shared_ptr 一定會先被構(gòu)建完成再調(diào)用 getNum,也就不會出現(xiàn)上述問題。


Effective C++ 第十七條 Store newed objects in smart pointer in stand的評論 (共 條)

分享到微博請遵守國家法律
大安市| 太和县| 恩平市| 达州市| 遵化市| 贵德县| 达州市| 噶尔县| 来安县| 比如县| 阿勒泰市| 射洪县| 金山区| 紫金县| 綦江县| 卓资县| 汶川县| 东兰县| 双江| 兰考县| 洛隆县| 三江| 阜新市| 宁德市| 荔浦县| 东方市| 崇明县| 洛南县| 安康市| 伊川县| 阿拉尔市| 木里| 织金县| 茶陵县| 平顶山市| 合川市| 高清| 大荔县| 丹巴县| 永寿县| 许昌县|