Nin+.Lee's Recycle Bin

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

今天看了下Visual Studio 2008 C++标准库中的auto_ptr模板类的代码,由于感觉可读性太差,因此自己参考该代码,自己重新整理了一份代码。

 

这种智能指针有以下缺点。

 

1. 这种智能指针只能在其作用域能保证所包含的native指针的有效性。当作用域结束(如,函数返回)的时候,native指针的空间就被释放掉,该指针变为无效。因此,这种智能指针不能用作返回值。

 

2. 所有权问题。当使用一个智能指针为另一个智能指针赋值的时候,前一个指针会自动放弃对native指针的所有权,并将所有权移交个第二个智能指针。这样做是为了保证指针所有权的唯一性,避免了当一个智能指针失效导致另一个智能指针也失效的情况。

 

因此,我正在考虑使用参考计数(Reference Count)的方法来解决上述问题。

 

模板类文件下载

posted on 2010-03-10 20:52  Nin+.Lee  阅读(1804)  评论(0编辑  收藏  举报