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

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

hot3.png

1.什么是智能指针?

智能指针(SmartPointer),简单来说,就是用起来像指针,但是很聪明,可以自己在适当的时候删除动态分配的对象的指针。

2.什么时候使用智能指针?

智能指针主要用于生存期控制和阶段控制。比如,在一个类中,如果有指针成员,那么,如果类写的不够小心,就很容易出异常。因为指针指向的动态内存,必须在拷贝构造或者赋值时,复制一份同样大小的内存。否则,容易引起内存泄漏或者对未定义的指针就行删除。

3.使用智能指针的优势是什么?

多个对象间可以共享一份动态内存,并且不需要费心在动态内存的申请和释放上。关于第一点,我觉得有点像Linux下的文件管理系统的机制。

4.智能指针如何实现?

智能指针的实现,关键技术在于“引用计数“。具体来说,通常有两种方式:第一,使用辅助类。第二,使用句柄类。我们通常采用句柄类的方式来实现,原因是这样作可以减少客户代码和类代码之间的耦合性。

5.如何使用智能指针?

STL库中的auto_ptr和Boost中的一些智能指针。

转载于:https://my.oschina.net/u/158589/blog/28994

你可能感兴趣的文章
学习《代码整洁之道 程序员的自我修养》得到的词语
查看>>
iOS KVO
查看>>
一个SAP顾问的回忆:我过去很胖!
查看>>
HomeAI一大波招聘
查看>>
跨域认证解决方案-JSON WEB TOKEN讲解与实战
查看>>
代币分类指南
查看>>
HTML5到跨平台App应用深度解析
查看>>
vue-cli 搭建webpack 项目流程
查看>>
活学活用! 用Local Storage实现多人聊天室
查看>>
HashMap深度分析
查看>>
解决问题The Tomcat connector configured to listen on port 8080 failed to start
查看>>
上海智慧城市园区系统集成开发,智慧城市从一到三的变化
查看>>
React组件的默认props
查看>>
ES6标准入门之---let与const
查看>>
ScrollView的contentSize、contentInset、contentOffset
查看>>
谈谈url、href、src
查看>>
vue源码阅读之数据渲染过程
查看>>
vue.js中created方法作用
查看>>
以不实扫描病毒结果来诱骗客遭到检举及调查
查看>>
开源大数据周刊-第20期
查看>>