C++中各种智能指针的实现及弊端(二)
生活随笔
收集整理的這篇文章主要介紹了
C++中各种智能指针的实现及弊端(二)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C++中各種智能指針的實現及弊端(二)
文章目錄
- C++中各種智能指針的實現及弊端(二)
- 一:實現auto_ptr
- 二、auto_ptr的問題及解決辦法
一:實現auto_ptr
C ++98版本的庫中提供了auto_ptr的智能指針:
auto_ptr文檔
- auto_ptr的實現原理:管理權轉移的思想,下面簡化模擬實現了一份AutoPtr來了解它的原理
二、auto_ptr的問題及解決辦法
原理:
- 缺陷:一旦發生拷貝后,就只能有一個對象可以操縱他們所管理的資源,因為原對象已經斷開和資源的鏈接
- 解決辦法:可以引入一個變量控制資源的釋放權,即不斷開就對象和資源的聯系,發生拷貝時,讓就對象無法獲得資源釋放權即可,具體代碼自己實現,這個比較簡單,加一個bool類型的成員變量即可
但是采用上面的解決方法仍然有缺陷:
- 可能會造成野指針問題
總結
以上是生活随笔為你收集整理的C++中各种智能指针的实现及弊端(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++中各种智能指针的实现及弊端(一)
- 下一篇: C++中各种智能指针的实现及弊端(三)