![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL
dailelelelele
这个作者很懒,什么都没留下…
展开
-
STL源码剖析(三) ---list
gcc 版本4.4.0 这次我们看看STL中list是怎样设计的。首先这个list要分为两个部分,list结构和list节点的结构。 首先看看list的节点(_List_node) 。 list 节点 由于 _List_node 是继承 _List_node_base。所以先来看看_List_node_base struct _List_node : public _List_node_base _List_node_base 中只有两个数据成员: 一个向前的指针,一个向后的指针。从这里可以看出list是原创 2020-11-17 16:08:15 · 154 阅读 · 0 评论 -
STL源码剖析(二) ---vector
gcc版本: gcc 2.95.3 篇幅原因,这里先看一部分源码 vector template <class _Tp, class _Alloc = __STL_DEFAULT_ALLOCATOR(_Tp) > class vector : protected _Vector_base<_Tp, _Alloc> { private: typedef _Vector_...原创 2020-03-24 10:52:53 · 189 阅读 · 0 评论 -
STL源码剖析(一)---空间配置器
声明分析的代码版本: GCC 2.95.3 前言 尽管在我们使用STL的时候,机会不怎么使用空间配置器,但是空间配置器是STL中最重要的步,我们使用容器的时候,之所以不用管理内存,都是因为有空间配置器。所以在剖析具体容器之前,先剖析空间配置器。 其他版本的配置器 vc6 使用的分配器: vc6 下 new 调用allocator,allocator 调用 operator new,operator...原创 2020-03-23 15:50:13 · 203 阅读 · 0 评论 -
STL vector
一个矢量类 vector 声明 头文件: #include vector + <参数列表> + 名字; 例 :vector vec; 参数列表里可存放的类型: 容器的数据类型: string 等. 基本数据类型: int,double 等. 结构体 ,对象 等. vector类 重载了 下表运算符— [] ,所以...原创 2019-08-27 00:37:17 · 345 阅读 · 0 评论