C++智能指针_原创精品文档.pdfVIP

  • 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)

1亿VIP精品文档

相关文档