http://www.cnblogs.com/QG-whz/p/4777312.html#_labe
C++ 引用計數技術及智能指針的簡單實現
引用計數大于1說明這個內存的內容處于共享狀態
if(--RefCnt>0){
char *tmp= (char *)malloc(strlen(_Pstr)+1);
strcpy(tmp,_Pstr);
_Pst=tmp;
}
怎么在內存中實現引用計數的呢?
- 在申請string 對象空間的時候多分配一點,把這個引用計數順道存下來,當發生拷貝構造或賦值時,將引用計數的值加1,如果引用計數大于1,表示有人要用,那么自己要先做一份拷貝,然后引用計數減1.