
STL
HerofH_
加油啊咸鱼!
展开
-
STL源码分析:浅析string和vector<char>的区别
目录前言转换为C-style字符串重载输入输出流操作符重载+、+=操作符前言 为什么会关注string和vector<char>的区别? 先来说下string这个“类”。 string和vector、list、deque等容器不一样,在STL中并不存在class string{...},它实际上是一个全局类型,通过typed...原创 2019-10-24 11:57:13 · 3056 阅读 · 0 评论 -
STL源码分析:sort函数
目录支持sort的容器几种涉及到的排序算法插入排序快速排序堆排序sort函数的策略sort函数的实现STL的sort函数非常常用,不同的STL版本有不同的实现方式,本文就来说一下SGI STL中是如何实现sort函数的。 sort函数所采用的排序方法并非是“一种”,而是“多种”排序算法的“混合物”。在SGI STL的版本中,对一个序...原创 2019-10-10 23:07:51 · 925 阅读 · 0 评论 -
STL源码分析:空间配置器浅析
目录allocatoralloc一级配置器二级配置器自由链表内存分配allocate_S_refill函数_S_chunk_alloc函数内存释放deallocate为什么要使用free_list?为什么free_list要把128bytes分成16部分?对于一些容器如vector、map、set之类的,都需要一个模板参数Alloc...原创 2019-09-27 17:07:47 · 646 阅读 · 0 评论 -
从源码理解智能指针(二)—— shared_ptr、weak_ptr
目录计数器_Ref_count_Ref_count_del_Ref_count_del_alloc_Ptr_base_Ptr_base的成员变量构造函数赋值重载获取引用计数减少引用计数_Reset函数_Resetw函数shared_ptr构造函数无参构造用一般参数构造用完整对象构造移动构造析构函数赋值重载reset...原创 2019-09-24 09:53:37 · 11872 阅读 · 4 评论 -
从源码理解智能指针(一)——auto_ptr、unique_ptr
目录auto_ptr构造函数拷贝赋值让auto_ptr对象具有指针的行为析构函数unique_ptr_Unique_ptr_baseremove_reference_Get_deleter_pointer_type_Unique_ptr_base的第三个模板参数构造函数无参/NULL构造用管理对象实例构造用管理对象实例及删除器实例构造用另...原创 2019-09-20 16:05:35 · 1567 阅读 · 1 评论