智慧型指標總結

2021-09-06 12:56:41 字數 533 閱讀 3015

std::shared_ptr **:

#include class test : public std::enable_shared_from_this

*/void

print()

intid;

};int

main()

std::enable_shared_from_this是乙個模板類,其中有乙個成員函式  shared_ptrshared_from_this() 其實現的過程其實類似於:

std::shared_ptrpobj(new

t());

std::weak_ptr

pwobj(ptest);

std::shared_ptr

pobj(pwobj);

真實實現可以檢視原始碼,即必須先有 std::shared_ptr物件產生,才會有 std::weak_ptr,再會有 std::shared_from_this()

智慧型指標總結

1.智慧型指標的原理 1 智慧型指標不是通常意義下的指標,而是乙個模板類,在對模板類例項化之後會產生類似於指標的行為。通過物件來管理資源。2 智慧型指標採用一種raii 資源分配即初始化 機制,在建構函式中實現對資源的分配及初始化,在析構函式中實現對資源的析構及 2.智慧型指標的分類 c 中最開始是...

智慧型指標總結

unique ptr weak ptr 智慧型指標與常規指標的區別 智慧型指標的選擇 智慧型指標並非c 11的原創,boost庫很早就提供了share ptr和weak ptr,c 11在此基礎上增加了unique ptr,從而形成了我們現在所說的智慧型指標。智慧型指標主要用於管理動態記憶體,當智慧...

智慧型指標總結

分類 通用程式設計技術 2010 02 27 15 46 131人閱讀 收藏 舉報 c 中沒有垃圾 所有的記憶體都要自己管理,也就是說new 與 delete必須由程式設計師自己去一一對應起來。這個難免會出現這樣那樣的記憶體問題。在這種背景下,智慧型指標應運而生。智慧型指標的最終的目的是將一塊記憶體...