博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
智能指针
阅读量:6591 次
发布时间:2019-06-24

本文共 488 字,大约阅读时间需要 1 分钟。

1 什么是智能指针

它本质上是一个类,它对其所管理的对象进行包裹,new的时候,new出这个智能指针对象的话,会自动创建其所管理的对象。

最重要的是,它会提供一个get该对象的方法,并且保存一个引用计数用的成员变量每次get的话,该引用计数都会加一。

然后它还会提供一个特殊的析构函数,每次delete这个智能指针,它都只是把引用计数减去1,只有当引用计数减为0了,它才会真正的delte掉它所管理的对象。

2 智能指针的例子

 c++标准库里面智能指针的实现auto_ptr<T>,使用例子

void func()

{

    auto_ptr<string> ps(new string("jjhou"));

    cout<<*ps<<endl;

    cout<<ps->size()<<end;

    // 离开前不想要释放该string对象内存,auto_ptr会自动释放。

}

也就是说,智能指针最大的好处是,不需要人去管内存的释放。

另外,智能指针用的时候,行为和普通指针一样,非常好用。

 

转载于:https://www.cnblogs.com/hustdc/p/6486153.html

你可能感兴趣的文章
超过响应缓冲区限制
查看>>
ubuntu 下安装 matplotlib
查看>>
webservice的几个简单概念
查看>>
underscore 1.7.0 api
查看>>
C# CheckedListBox控件的使用方法
查看>>
spring Transaction Management --官方
查看>>
iOS开发-清理缓存功能的实现
查看>>
IS_ERR、PTR_ERR、ERR_PTR
查看>>
html5 canvas 奇怪的形状垂直渐变
查看>>
mac java环境
查看>>
lamp 一键安装
查看>>
SQL Server 2008 收缩日志(log)文件
查看>>
UICollectionView基础
查看>>
SSAS中CUBE行权限数据级权限控制
查看>>
android学习记录(三)百度地图错误---只有一个电话显示帧,没有地图内容。
查看>>
BZOJ2794 : [Poi2012]Cloakroom
查看>>
【Eclipse】安装subclipse的Eclipse插件
查看>>
Git查看、删除、重命名远程分支和tag【转】
查看>>
浅谈IM软件业务知识——非对称加密,RSA算法,数字签名,公钥,私钥
查看>>
Oracle中REGEXP_SUBSTR及其它支持正则表达式的内置函数小结
查看>>