簡易的C 智慧型指標原理示例

2021-08-02 23:06:05 字數 2715 閱讀 1287

希望對新手理解c++中智慧型指標的實現原理有所幫助,第一次上傳**,望各路道友多多指教。

#ifndef

smart_ptr_h

#define

smart_ptr_h

#include

#include

template

<

typename

_tr>

class

smart_ptr

smart_ptr

(const

smart_ptr

&other

)

}

//空初始化

smart_ptr

()

//釋放

~smart_ptr

()

public

:

//拷貝(遞減原有計數、增加新計數)

smart_ptr

&operator=(

const

smart_ptr

&other

)

return

*this

;

}

//解引

_troperator

*()

//模擬指標呼叫

pointtype

operator

->()

private

:

//遞增計數,並且返回計數

intincrease(

long

address

)

else

#ifdef

ptr_debug

std::cout

<<

"address:"

<<

address

<<

"count:"

<<

count

<<

std::endl;

#endif

return

count

;

}

//遞減計數,並且返回計數

intdegression(

long

address

)

#ifdef

ptr_debug

std::cout

<<

"address:"

<<

address

<<

"count:"

<<

count

<<

std::endl;

#endif

}

return

count

;

}

void

releaseptr()

}

}

//

static

std::

map<

long

,int

>

addresscontainer_;

pointtype

ptr_;

};
template

<

typename

_tr>

std

::map

<

long

,int

>

smart_ptr

<

_tr>::addresscontainer_;

#endif

//smart_ptr_h

C 智慧型指標示例

body p div td 使用智慧型指標的乙個示例 class u ptr u ptr class hasptr int get ptr val const int get val const void set int int i void set ptr int p void set ptr v...

C 智慧型指標原理

智慧型指標 smart pointer 是儲存指向動態分配 堆 物件指標的類,用於生存期控制,能夠確保自動正確的銷毀動態分配的物件,防止記憶體洩露。它的一種通用實現技術是使用引用計數 reference count 智慧型指標類將乙個計數器與類指向的物件相關聯,引用計數跟蹤該類有多少個物件共享同一指...

C 智慧型指標原理

1.c 智慧型指標 2.c 智慧型指標簡單剖析 3.智慧型指標 auto ptr 詳解 4.c 智慧型指標詳解 5.請你介紹一下c 的智慧型指標 牛客網 在c 程式裡,使用new關鍵字開闢的記憶體必須被手動delete掉,不然就會導致記憶體的洩漏,但是,當程式非常冗長,你能保證自己每乙個手動開闢的記...