原文:c++——智能指针学习(shared_ptr和weak_ptr)

先看一个例子:Stark和Targaryen家族你中有我,我中有你。我们设计以下类企图避免内存泄漏,使得析构函数都能调用到: include lt iostream gt include lt memory gt using namespace std class Stark class Targaryen class Stark private: Targaryen targaryen publ ...

2019-03-29 16:32 0 1888 推荐指数:

查看详情

C++ 智能指针shared_ptr/weak_ptr)原理分析

其主要的类关系如下所示(省略相关的类模板参数): 图1 从上面的类图可以清楚的看出shared_ptr内部含有一个指向被管理对象(managed object)T的指针以及一个__shared_count对象,__shared_count对象包含一个指向管理对象(manager ...

Wed Dec 01 21:49:00 CST 2021 0 2112
c++智能指针(unique_ptrshared_ptrweak_ptr、auto_ptr

一、前序 什么是智能指针? ——是一个类,用来存储指针(指向动态分配对象也就是堆中对象的的指针)。 c++的内存管理是让很多人头疼的事,当我们写一个new语句时,一般就会立即把delete语句直接也写了,但是我们不能避免程序还未执行到delete时就跳转了或者在函数中没有执行到最后 ...

Tue May 28 17:57:00 CST 2019 0 1605
C++智能指针 auto_ptrshared_ptrweak_ptr和unique_ptr

  手写代码是理解C++的最好办法,以几个例子说明C++四个智能指针的用法,转载请注明出处。 一、auto_ptr   auto_ptr这是C++98标准下的智能指针,现在常常已经被C++标准的其他智能指针取代。它的缺点是在转移所有权后会使运行期不安全。C++11新标准,用unique_ptr ...

Sat Dec 08 01:14:00 CST 2018 0 1984
c++11 智能指针 unique_ptrshared_ptrweak_ptr

c++11 智能指针 unique_ptrshared_ptrweak_ptr C++11中有unique_ptrshared_ptrweak_ptr智能指针(smart pointer),定义在<memory>中。 可以对动态资源进行管理,保证任何情况下,已构造 ...

Mon Nov 06 01:57:00 CST 2017 0 17970
聊聊智能指针 auto_ptrshared_ptrweak_ptr和unique_ptr

本文为转载:https://www.cnblogs.com/zeppelin5/p/10083597.html,对作者有些地方做了修正。 手写代码是理解C++的最好办法,以几个例子说明C++四个智能指针的用法,转载请注明出处。 一、auto_ptr   auto_ptr这是C++98标准下 ...

Sat Jul 13 19:20:00 CST 2019 0 436
C++11 新特性之智能指针shared_ptr, unique_ptr, weak_ptr)

这是C++11新特性介绍的第五部分,涉及到智能指针的相关内容(shared_ptr, unique_ptr, weak_ptr)。 shared_ptr shared_ptr 基本用法 shared_ptr采用引用计数的方式管理所指向的对象。当有一个新的shared_ptr ...

Sat Nov 09 01:15:00 CST 2019 0 589
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM