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.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容