C++标准库智能指针实现(含源码)

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

 

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

 

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

 

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

 

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

 

模板类文件下载

转载于:https://www.cnblogs.com/aokman/archive/2010/03/10/1682882.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值