自写的智能指针c++
来源:互联网 发布:淘宝客服是职责是什么 编辑:程序博客网 时间:2024/05/22 11:44
/*!
@class 引用计数类
*/
class RefCounted
{
public:
//! @brief 增加计数
virtual void G_CALL ref() = 0;
//! @brief 减少计数
virtual void G_CALL unref() = 0;
protected:
~RefCounted()
{
}
};
template< typename T >
class RefPtr
{
public:
RefPtr(T* ptr = 0)
{
mPtr = 0;
*this = ptr;
}
RefPtr(const RefPtr<T>& ptr)
{
mPtr = 0;
*this = ptr;
}
~RefPtr()
{
if (mPtr)
{
mPtr->unref();
mPtr = 0;
}
}
RefPtr<T>& operator=(T* ptr)
{
if (ptr != mPtr)
{
if (mPtr)
{
mPtr->unref();
}
mPtr = ptr;
if (mPtr)
{
mPtr->ref();
}
}
return *this;
}
RefPtr<T>& operator=(const RefPtr<T>& ptr)
{
*this = ptr.mPtr;
return *this;
}
T* operator->() const
{
return mPtr;
}
T& operator*() const
{
return *mPtr;
}
operator bool() const
{
return (mPtr != 0);
}
T* get() const
{
return mPtr;
}
private:
T* mPtr;
};
- 自写的智能指针c++
- 【C++】智能指针的实现
- [c++]智能指针的实现
- 自己写的智能指针(auto_ptr)
- 自己写的智能指针类
- C++写的一个智能指针类
- 【C++】智能指针的一个典型应用
- 【C++】智能指针auto_ptr的简单实现
- C++(智能指针的设计与实现)
- C++:auto_ptr智能指针的用法
- (C++)智能指针的小“自传”
- 仿照shared_ptr写的一种智能指针(共享型的智能指针)
- c++:智能指针
- C++:智能指针
- 【C++】智能指针
- 【C++】智能指针
- C++PJ智能指针
- 【c++】智能指针
- 多维动态数组分配的方法
- 源码网站
- 在Sql Server 2008上安装SDE 9.3
- SOA学习路线图之IBM SOA参考架构
- 概述
- 自写的智能指针c++
- 游戏终于快接近尾声了,就快解脱了!
- JUnit是个好东西!
- WMI .NET 技术摘要
- 怎样学好asp.net
- Agile敏捷软件开发方法
- resue linux after reinstall windows xp
- 湖人4:2横扫掘金
- 无锡重点服务外包企业名录