智慧型指標的簡單實現

2021-07-03 09:55:39 字數 524 閱讀 9422

智慧型指標:它的一種通用實現方法是採用引用計數的方法。智慧型指標將乙個計數器與類指向的物件相關聯,引用計數跟蹤共有多少個類物件共享同一指標。有兩種實現方法,本例簡單的實現了智慧型指標。

#include #include using namespace std;

template class smartptr

smartptr(){};

smartptr(const smartptr& org):_ptr(org.getptr()),usecountptr(org.getusecountptr())

public:

smartptr& operator=(const smartptr& org)

void setvalue(t date)

t getvalue() const

t *getptr() const

int *getusecountptr() const

virtual ~smartptr()

還可過載操作符new 來進行實現。

智慧型指標的簡單實現

智慧型指標 動態的管理開闢的記憶體,防止人為的記憶體洩漏。sharedptr的實現 原理 使用引用計數的原理使多個物件可以指向一塊空間。define crt secure no warnings includeusing namespace std template class sharedptr ...

c 實現簡單的智慧型指標

rt,參考了 stl msvc 中shard ptr的實現,基本原理是引用計數,利用ref cnt類來管理記憶體,在shared ptr建立時建立,此後shared ptr僅是在拷貝複製析構的過程中對引用進行修改,個人覺得比較有意思的乙個地方在於通過對ref cnt類多型的應用使得shared pt...

智慧型指標實現

namespace smart smart count 增加引用計數,並返回計數值.intaddref 減少引用計數,並返回計數值.intrelease private 計數變數.intuse count 智慧型指標.template class t class smart ptr 構造空指標.ex...