智慧型指標派生類 weak ptr STL原始碼

2021-10-02 09:04:28 字數 966 閱讀 6892

// template class weak_ptr

// weak_ptr智慧型指標類模板(指向由智慧型指標管理的物件,增加弱引用計數,若為shared_ptr不增加的引用計數(非弱))

templateclass weak_ptr

: public _ptr_base<_ty>// 繼承自智慧型指標基類

// copy建構函式

weak_ptr(const weak_ptr& _other) _noexcept

template::value,

void>::type>

weak_ptr(const shared_ptr<_ty2>& _other) _noexcept

template::value,

void>::type>

weak_ptr(const weak_ptr<_ty2>& _other) _noexcept

~weak_ptr() _noexcept

weak_ptr& operator=(const weak_ptr& _right) _noexcept

templateweak_ptr& operator=(const weak_ptr<_ty2>& _right) _noexcept

templateweak_ptr& operator=(const shared_ptr<_ty2>& _right) _noexcept

void reset() _noexcept

void swap(weak_ptr& _other) _noexcept

bool expired() const _noexcept

// 呼叫explicit shared_ptr(const weak_ptr<_ty2>& _other,bool _throw = true)

shared_ptr<_ty> lock() const _noexcept

};

智慧型指標派生類 unique ptr STL原始碼

unique ptr指標 唯一指向資源的指標,每當賦值 構造時,轉讓右側指標資料到左側,右側為空,即同一時間只有乙個指標指向資料 其中,千萬別在定義乙個unique ptr指標時出現下述情況已知unique ptrq new int 1 q也可以是shared ptr型別 unique ptrp q...

關於基類指標 派生類指標 基類物件派 生類物件問題

1 基類指向派生類的指標 2 派生類指向基類的指標 3 以及將派生類指標強制轉換為基類指標 4 將基類指標強制轉換為派生類指標 無論是基類指向派生類還是派生類指向基類,重點就是哪個類的指標就呼叫哪個類的方法,而輸出的是指標指向的物件。基類指向派生類的指標即將派生類物件賦給基類指標,如果輸出的話,呼叫...

基類指標指向派生類

include class a virtual void vt private void a2 protected void a3 class b public a virtual void vt private void b2 protected void b3 int main 結論 1 對於派...