五月天青色头像情侣网名,国产亚洲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的評論 (共 條)

分享到微博請遵守國家法律
德安县| 苍梧县| 资源县| 榆社县| 金湖县| 阿克陶县| 桃江县| 抚宁县| 福鼎市| 特克斯县| 聂拉木县| 玉环县| 大连市| 孟津县| 永嘉县| 伽师县| 遂昌县| 达尔| 阜新市| 马龙县| 闽清县| 横峰县| 铅山县| 修水县| 安庆市| 旬邑县| 天峻县| 江孜县| 南郑县| 临夏县| 高碑店市| 大竹县| 公安县| 沂源县| 雅江县| 巴塘县| 宜阳县| 河曲县| 汉阴县| 绥江县| 定陶县|