智能指针shared-ptr的用法.pdf下载
智能指针 智能指针shared_ptr的⽤法 的⽤法 为了解决C++内存泄漏的问题,C++11引⼊了智能指针(Smart Pointer)。 智能指针的原理是,接受⼀个申请好的内存地址,构造⼀个保存在栈上的智能指针对象,当程序退出栈的作⽤域范围后,由于栈上的变 量⾃动被销毁,智能指针内部保存的内存也就被释放掉了(除⾮将智能指针保存起来)。 C++11提供了三种智能指针:std::shared_ptr, std::unique_ptr, std::weak_ptr,使⽤时需添加头⽂件。 shared_ptr使⽤引⽤计数,每⼀个shared_ptr的拷贝都指向相同的内存。每使⽤他⼀次,内部的引⽤计数加1,每析构⼀次,内部的引⽤ 计数减1,减为0时,删除所指向的堆内存。shared_ptr内部的引⽤计数是安全的,但是对象的读取需要加锁。 1. shared_ptr的基本⽤法 初始化 可以通过构造函数、std::make_shared辅助函数和reset⽅法来初始化shared_ptr: #include "stdafx.h" #include #include #include using namespace std; class Person { public: Person(int v) { value = v; std::cout << "Cons" <https://download.csdn.net/download/qq_43934844/87505516?utm_source=bbsseo