C++????????????
?????he_shuai20 ???????[ 2017/2/27 13:30:29 ] ??????????????????? C++
???????????????????
????RAII(Resource Acquisition Is Initialization)
??????????伴?????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????й????????????????????????????????????????????????????????????????
???????????????????????????????????????????????Щ????£?????????????????治??????????????????й??????????????????????????
?????????????????????????????????????????????
????C++11???????????????????
????auto_ptr:??C++??????????????????????????????????????????????????????????
?????????????????????????????????????????????????
template<class T>
class Auto_ptr
{
public:
Auto_ptr(T& ptr)
:_ptr(ptr)
{}
~Auto_ptr()
{
delete _ptr;
}
Auto_ptr(Auto_ptr<T>& ap)
:_ptr(ap._ptr)
{
ap._ptr = NULL;
}
Auto_ptr& operator=(Auto_ptr<T>& ap)
{
if (this != &ap)
{
delete _ptr;
_ptr = ap._ptr;
ap._ptr = NULL;
}
}
private:
T* _ptr;
};
????unique_ptr:????????????????????????????????????????????????????????????????к????????????????????壬?????????????????????????????
??????????????????????????
template<class T>
class Unique_ptr
{
public:
Unique_ptr(T& ptr)
:_ptr(ptr)
{}
~Unique_ptr()
{
delete _ptr;
}
private:
T* _ptr;
Unique_ptr(Unique_ptr<T>& ap);
Unique_ptr& operator=(Unique_ptr<T>& ap);
};
????shared_ptr:??????ü??????????????????????????????ó?????????????????????????????????????????????????????????
????weakd_ptr:?????shared_ptr??????????????
????????shared_ptr?????weakd_ptr:???????????????????
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11