![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++智能指针系列的源码分析
zhangzhangkeji
这个作者很懒,什么都没留下…
展开
-
vs2019 c++20 规范的 STL 库的智能指针 shared、unique 、weak 、auto 及 make_** 函数的源码注释汇总,和几个结论
STL 库代码肯定是不会错的。可以得出结论啊: unique_ptr 声明时的模板参数 _Ty 的含义不同于模板定义时的模板参数 _Ty, 模板声明时的删除器的默认值是对第一个模板实参的整体取 default_delete ,所以选择了正确的删除器模板。智能指针的源码都在 头文件中。因为头文件太长,再者本次整理是基于以前的零散的模板分析。故相当于抽取了该头文件中关于智能指针的源码进行分析,注释。我们要分析、猜测编译器在泛型推导时是如何确定模板参数的类型的。时,其默认的删除器是哪个?原创 2024-05-27 03:30:01 · 371 阅读 · 0 评论 -
vs2019 cpp 20规范 智能指针和STL常用容器类模板的源码注释,十几篇
【代码】vs2019 cpp 20规范 智能指针和STL常用容器类模板的源码注释,十几篇。原创 2023-09-12 16:29:57 · 52 阅读 · 0 评论 -
c++智能3种指针源码分析汇总
c++的三种智能指针,其实是大师们用泛型技术预先定义好的泛型类。本资源对共享指针、独占指针、弱指针的泛型源码进行了泛型展开和分析。还有三个函数:std:: make_shared<> 和 std::forward<> 和 std::move<>。原创 2023-06-19 19:57:27 · 78 阅读 · 0 评论 -
指针源码unique_ptr 与 unique_ptr【】与make_unique
本文对独占指针的源码进行了泛型展开。原创 2023-06-16 16:50:43 · 47 阅读 · 0 评论 -
c++智能指针weak_ptr源码分析
这个指针比shared_ptr<> 内容少些。原创 2023-06-15 19:23:20 · 63 阅读 · 0 评论 -
智能指针源码memory之shared_ptr与default_delete
文中还剖析了另一个相关的结构体_Alloc_construct_ptr。原创 2023-06-15 16:22:17 · 47 阅读 · 0 评论 -
智能指针源码memory之_Ptr_base
进行了泛型展开。原创 2023-06-13 20:16:29 · 48 阅读 · 0 评论 -
c++指针源码memory之_Ref_count_obj2 和STD forward 和 STD make_shared
其中对 shared_ptr 的 _Set_ptr_rep_and_enable_shared()函数也进行了详细分析。原创 2023-06-12 19:29:52 · 264 阅读 · 0 评论 -
指针源码memory文件之_Ref_count_base与其子类_Ref_count和_Ref_count_resource
进行了泛型展开 ,谢谢原创 2023-06-12 14:13:12 · 383 阅读 · 0 评论 -
独占指针unique_ptr 的 release() 函数 分析
其中最后的静态转换没太明白,但大致显示了,该函数返回了裸指针的结论。原创 2023-06-05 12:44:37 · 293 阅读 · 0 评论 -
以裸指针构造共享指针对象 与指针数组的内存泄露
如图可见,第2 行的构造说不合法,没有适当的构造函数。其实有这样的构造函数,但是只能被显式调用。(2) 创建在堆区的指针数组,应该先释放指针们指向的对象,再释放指针数组。如图,在mfc框架中,调试结束后报告了内存泄露。原创 2023-06-04 13:18:31 · 84 阅读 · 0 评论 -
智智指针源码分析之xmemory 文件里的类 allocator
顾名思义,这个类涉及了内存分配与释放方面。由类 _Default_allocator_traits 会对其调用。详情见上传代码文件。原创 2023-06-11 21:35:55 · 89 阅读 · 0 评论 -
【无标题】分析智能指针的泛型源码的内存分配的结构体(类) _Normal_allocator_traits
这里分析了c++ 智能指针的源码,对泛型推导做了记录。指针内存分配与回收的这个函数。原创 2023-06-11 03:33:05 · 37 阅读 · 0 评论 -
关于共享指针,独占指针的类,_Ref_count_obj2及其父类_Ref_count_base的源码分析
最近这些文章连起来,类和函数定义就都找到了。原创 2023-06-09 17:52:22 · 90 阅读 · 0 评论 -
管理智能指针资源的又一个类(指定删除器的对象)_Ref_count_resource源码分析,和其中的类_Compressed_pair等的源码
在别的类中会有其调用。常见函数_Get_first。原创 2023-06-10 15:35:31 · 35 阅读 · 0 评论 -
从堆区对象里返回共享指针,需继承类 enable_shared_from_this 。的调用链分析
但有些方面我也不太清楚。那个弱指针指向了对象 B 么,若是,又是什么时候赋值的呢?原创 2023-06-04 19:16:57 · 49 阅读 · 0 评论 -
源代码分析,搞懂std::move 和 std::make_shared<T>()
泛型代码分析,不知道类型的传递,所以都写下来,谢谢阅读原创 2023-06-08 20:30:31 · 163 阅读 · 0 评论 -
c++智能指针源码分析,文件xmemory之_Default_allocator_traits 类
构造智能指针时,有时会指定分配器,会涉及这个类的代码,已详细分析,并进行了泛型展开,其中引用的 类 allocator ,因太大,已另文分析上传。但感觉两个类中的函数及功能大同小异。原创 2023-06-11 22:14:03 · 55 阅读 · 0 评论 -
独占指针,共享指针的,管理类_Ref_count源码分析,及其父类
原创 2023-06-09 19:44:59 · 42 阅读 · 0 评论 -
独占指针的reset分析
书上说,独占指针的reset,可以指向新对象,并释放原对象。从源码分析看,确实如此。原创 2023-06-05 19:11:17 · 45 阅读 · 0 评论 -
c++智能指针源码分析:文件memory之类_Ref_count_resource_alloc
这是 智能指针 的 提供内存分配器的资源管理类文件memory之_Ref_count_resource_alloc,源码中进行了充分的泛型展开。原创 2023-06-12 01:26:30 · 47 阅读 · 0 评论