随笔分类 - STL源码剖析
vector,list,deque容器的迭代器简单介绍
摘要:我们知道标准库中的容器有vector,list和deque。另外还有slist,只不过它不是标准容器。而谈到容器,我们不得不知道进行容器一切操作的利器---迭代器。而在了解迭代器之前,我们得先知道每个容器的结构,包括它的逻辑结构和物理结构。让我们先说说vector:一、vector 我们先来看...
阅读全文
自己动手实现简单的Vector
摘要:看到今天,终于自己动手写了一个自己的vector,我这个版本的vector只有vector主要的一些操作,包括原版vector的所有构造函数,begin(),end(),size(),capacity(),empty(),erase(),clear(),pop_back,push_back(),重载...
阅读全文
浅析STL allocator
摘要:一般而言,我们习惯的 C++ 内存配置操作和释放操作是这样的:1 class FOO{};2 FOO *pf = new FOO; 3 delete pf; 我们看其中第二行和第三行,虽然都是只有一句,当是都完成了两个动作。但你 new 一个对象的时候两个动作是:先调用::operato...
阅读全文
STL中的Traits编程技法
摘要:最近在看读《STL源码剖析》,看到Traits编程技法这节时,不禁感慨STL源码作者的创新能力。那么什么是Traits编程技法呢?且听我娓娓道来: 我们知道容器的许多操作都是通过迭代器展开的。其中容器类似于数组,迭代器类似于指针。我们用数组来写个例子:1 int arr[5] = {1,2,3...
阅读全文
浙公网安备 33010602011771号