C++11智能指针详解:unique_ptr、shared_ptr与weak_ptr.pdfVIP

  • 0
  • 0
  • 约1.05万字
  • 约 12页
  • 2026-07-07 发布于北京
  • 举报

C++11智能指针详解:unique_ptr、shared_ptr与weak_ptr.pdf

很多人怕写C/C++程序就是因为指针,因为指针给了程序员高度的自由,同样也赋予了高

度的责任,稍有不慎就导致内存泄漏。其实写C++可以完全不用指针,尤其C++11对智

能指针作了进一步的升级,在不需要使用任何裸指针的前提下也可以写出高效的C++程序。

C++11中定义了unique_ptr、shared_ptr与weak_ptr三种智能指针(smartpointer),都包含

在memory头文件中。智能指针可以对动态分配的资源进行管理,保证任何情况下,已构

造的对象最终会销毁,即它的析构函数最终会被调用。

unique_ptr

如名字所示,unique_ptr是个独占指针,C++11之前就已经存在,unique_ptr所指的内存

为自己独有,某个时刻只能有一个unique_ptr指向一个给定的对象,不支持拷贝和赋值。下

面以代码样例来说明unique_ptr的用法,各种情况都在代码注释给出。

#includeiostream

#includestring

#includememory

#includevector

#includemap

voidtest()

{

std::unique_ptrintup1(newint(11));//无法的u

文档评论(0)

1亿VIP精品文档

相关文档