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