自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 资源 (2)
  • 收藏
  • 关注

原创 stl源码剖析之vector,list,deque迭代器分析

一.模型 vector维护的是连续线性空间,当空间大小不足时,另辟一块更大的内存,将之前空间的所有元素移至新空间,并销毁释放原空间。stl中list是一个环状双向链表,它维护的不是连续空间,而是一个个的节点(__list_node),节点之间通过指针连接。deque维护的也是连续线性空间,不过不同于vector,它的空间是分段连续的,当空间大小不足时,deque可以另辟一块空间,并与原来

2016-09-12 13:20:31 485

原创 stl源码剖析之vector

vector是一种序列式容器,使用vector时只需要#include <vector> sgi stl 3.0中vector的具体实现定义在stl_vector.h文件中,vector使用的是连续线性空间,vector的迭代器即为普通指针,截取sgi stl 3.0部分源码,如下//alloc是第一级或第二级配置器,定义在<stl_alloc.h>中,sgi stl中alloc默认为第二级配置

2016-09-11 17:16:53 342

原创 stl源码剖析之traits编程技法

stl中充斥着大量的traits编程技法,要想看stl源码,不了解traits肯定是不行的。 本文主要讲述stl中的taits编程技巧

2016-09-04 09:14:34 702

原创 stl源码剖析之空间配置器

一.理解new与delete 通常我们这样申请与释放C++内存 class Foo{…}; Foo* pf=new Foo(); delete pf; 在这段代码中,new包括3个过程。 1).调用operator new分配内存。 2).调用Foo::Foot()构造对象。 3).返回指针pf。同理,delete包括new相反的过

2016-09-02 01:14:20 400

stl_alloc.h(加注释)

下载的stl_alloc.h源码,自己加了注释,有助于理解stl空间配置器

2016-09-02

红黑树的C++实现

程序为红黑树的C++代码实现,主要包括插入删除查找等操作,红黑树具体可以参考算法导论第3版第13章

2016-01-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除