當我查看「增強版」智能指針 - 增強功能是添加引用計數時 - 我看到他們使用一些「複雜」技術來進行引用計數,例如一個完全獨立的類或指向一個整數的指針。爲什麼不只是使用一個靜態變量作爲智能指針的參考計數
下面是一個例子:
template<class T>
class SmartPointer{
T* mp_T;
unsigned int * mp_Count;
public:
... all the APIs ...
};
我想知道,有什麼益處呢?因爲我們的目標是讓所有的實例共享的價值,爲什麼不乾脆宣佈它作爲一個靜態成員變量:
template<class T>
class SmartPointer{
T* mp_T;
static unsigned int m_Count;
public:
... all the APIs ...
};
我必須錯過的東西,但經過一番搜索,我找不到任何答案。請說明一下。