- 2
- 0
- 约4.9千字
- 约 5页
- 2023-12-23 发布于宁夏
- 举报
C++智能指针
⼀.智能指针
在C++中,我们申请内存⼀般使⽤new,释放内存时使⽤delete,但是有时候我们可能由于疏忽会忘记delete,或者当程序有多个
出⼝时,也会容易有new没有delete,这样就产⽣了内存泄漏,如果你的程序是⼀个需要长期运⾏的服务器程序,可能运⾏着⼏天突然程
序就崩溃了,原因也不好定位,所以为了⽅便内存管理,C++引⼊了智能指针,智能指针的优点在于能够帮助程序员⾃动释放我们new出
来的堆内存。
C++标准库有四种智能指针:auto_ptr,unique_ptr,shared_ptr,weak_ptr(auto_ptr是C++98标准的,其余都是C++11
标准推出的,auto_ptr现在已经不再使⽤了),C++11这三种智能指针都是类模板。
⼆.shared_ptr
(⼀)概述
shared_ptr是⼀个共享式指针,所有的shared_ptr共享对指向内存的所有权,不是被⼀个shared_ptr拥有,⽽是多个
shared_ptr之间互相协作。
(⼆)⼯作原理
引⽤计数,use_count为0时就释放对象空间。
(三)初
原创力文档

文档评论(0)