1、智能指针提出的原因
为了更容易同时也更安全的使用动态内存,在C++11标准库中就提供了三种智能指针。智能指针的行为类似于常规指针,最重要的区别在于智能指针自动释放所指向的对象。三种智能指针的区别在于管理底层指针的方式:shared_ptr允许多个指针指向同一个对象;unique_ptr则“独享”所指向的对象;weak_ptr是shared_ptr的弱表现,指向shared_ptr所管理的对象,但是引用计数不增加。三个智能指针都包含在文件memory.h中,下面先中shared_ptr开始。
2、shared_ptr类
2.1、shared_ptr支持的操作
从官方得知之的操作如下表内容:
shared_ptr支持的操作 |
简要概述 |
shared_ptr&l |