1. 所有权:`unique_ptr`是独占所有权的智能指针,即同一时间只能有一个`unique_ptr`指向一个对象。...
1.shared_ptr 1.1 shared_ptr介绍 shared_ptr主要用于托管动态分配的内存。 在程序中动态分配了一块内存,这块内存可以是变量可以是对象,为了避免内存泄露,我们必须在整个程序的所有可能跑到的分支,保证这块内存不用了之后可以得到正确的释放。 普通指针使用起来麻烦,而
std::unique_ptr是一种独占所有权的智能指针。它确保一个对象只能被一个unique_ptr所拥有,这意味着不能复制unique_ptr,只能移动它。 主要特性 独占所有权: 一个unique_ptr不能被复制,只能被移动。 自动释放: 当unique_ptr离开作用域时,它所管理的对象会被自动删除。 零开销: 在大多数操作中,unique_ptr与原始...
unique_ptr表示独占所有权的智能指针,同一时间内只能有一个unique_ptr指向给定的资源。当unique_ptr离开作用域时,它所管理的资源会被自动释放。这种设计保证了资源的唯一性和确定性释放。 shared_ptr shared_ptr允许多个智能指针共享同一个资源的所有权。它通过引用计数来追踪有多少个shared_ptr指向同一资源,当最后一个...
第一小节:介绍系列视频的大纲, 以及内容第二小节: 介绍shared_ptr第三小节:介绍shared_ptr的两种用法,会通过代码给带大家进行演示第四个节:介绍unique_ptr第五小节: 介绍unique_ptr的两种用法,会通过代码给带大家进行演示第六小节:怎么在面试中给面试官进行表达,
前言 本文介绍[ shared_ptr / unique_ptr / weak_ptr ]的使用,以及shared_ptr 引用计数和weak_ptr 弱引用计数。 1. 智能指针概述 C++程序设计中使用堆内存是非常频繁的操作,堆内存的申请和释放都由程序员自己管…
unique_ptr 是 C++ 11 提供的用于防止内存泄漏的智能指针中的一种实现,独享被管理对象指针所有权的智能指针。 unique_ptr对象包装一个原始指针,并负责其生命周期。当该对象被销毁时,会在其析构函数中删除关联的原始指针。 unique_ptr具有->和*运算符重载符,因此它可以像普通指针一样使用。
在C++中,`shared_ptr` 和 `unique_ptr` 是两种常用的智能指针类型,用于自动管理动态分配的内存。两者主要在**所有权、复制/移动以及性能**等方面有所区别。具体分析如下...