迈克老狼

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

        智能指针(smart pointer)就是把动态分配的内存包装在一个基于栈的变量中。引用计数是用来跟踪多少个智能指针指向某个实际指针。

 

Code

 

         该智能指针实现存在一些问题: 因为是通过模板类实现的,所以对于SuperSmartPointer<int>和SuperSmartPoint<char>在编译时

会生成2个类,一般是没有问题的,但是下面的情况:

char * ch = new char;

SuperSmartPoint<char> t1(ch);

SuperSmartPoint<int> t2(int(*)ch);

由于对应2个不同的智能指针映射对应一个实体ch,会出现2次删除的现象。而且该智能指针不是线程安全的。

 

posted on 2009-11-21 18:50  迈克老狼  阅读(285)  评论(0编辑  收藏  举报