c++ 引用計數的具體實現

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.
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容