日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

Effective C++ --3 资源管理

發布時間:2025/3/21 c/c++ 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Effective C++ --3 资源管理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上一部分 Effective C++ --2 構造/析構/賦值運算

?

13、以對象管理資源

?? 1)為了防止new后提前return等沒有執行delete造成內存泄露,利用RAIIresource acquisition is initialization,資源取得時便是初始化時機)對象。

?? 2)兩個常被使用的RAII對象auto_ptrtr1::shared_ptr。兩者都是智能指針,其析構函數自動對其所指對象調用delete。前者有所有權的概念,復制等操作會有所有權的轉移;后者支持RCSPreference-counting smart pointer,引用計數型智能指針),通常是較佳選擇,因為其copy比較直觀。

14、在資源管理類中小心copying行為

? 1)復制RAII對象進行的是深度拷貝,不論指針或是指針所指內存都被復制。

? 2)普遍的RAII對象copying行為是:抑制copying、施行引用計數法。前者將copying操作聲明為private;后者使用shared_ptr,還可以指定刪除器,當引用計數為0時自動調用刪除器。

15、在資源管理類中提供對原始資源的訪問

? 1APIs往往要求訪問原始資源,所以每一個RAII對象都應該提供一個“取得其所管理之資源”的方法。方法有兩種:顯式和隱式。顯示通過get()得到;隱式提供隱式轉換函數,將資源返回。

16、成對使用newdelete時采用相同的形式

? 1new delete(單個對象),new[] delete[](一組對象), 使用形式一致。

? 2)不要對數組形式做typedefs動作,容易造成上述規則出錯。(對數組做typedefs是為了用到相同類型和大小的數組時方便使用,最好不要這么做。)

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

? 1)分離語句,將newed對象置于智能指針內,否則一旦拋出異常,可能造成內存泄露。

總結

以上是生活随笔為你收集整理的Effective C++ --3 资源管理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。