
STL
文章平均质量分 74
guansir
Hand in hand!
展开
-
【STL】STL基础
一、STL组成1、六大组件 容器(Container)、算法(Algorithm)、迭代器(Iterator) 仿函数(Function Object)、适配器(Adapter)、空间配置器(allocator)2、STL的命名空间为std3、 algorithm 四个数值相关演算法 vector list deque sta原创 2010-01-27 12:10:00 · 675 阅读 · 0 评论 -
【STL】Alloc细节
一、实现 1、为了精密分工,STL allocator将两阶段操作分开,内存配置操作由alloc::allocate()负责,内存释放操作由alloc::deallocate()负责 对象构造操作由::construct()负责,对象析构操作由::destroy()负责 2、对象构造前的空间配置和对象析构后的空间释放,由负责,SGI对此的设计哲学如下: 向system heap原创 2010-02-24 11:48:00 · 841 阅读 · 0 评论 -
【STL】iterator细节
一、实现 1、STL的中心思想在于:将数据容器和算法分开,彼此独立设计,最后再以一贴胶合剂将它们撮合在一起。 2、迭代器是一种smart pointer 迭代器是一种行为类似指针的对象,而指针的各种行为中最常见也最重要的便是内容提领和成员访问,因此,迭代器最重要 的编程工作就是对 operator* 和 operator-> 进行重载工作。 3、函数的“template参数原创 2010-02-24 18:07:00 · 606 阅读 · 0 评论 -
【STL】关联式容器细节
一、概述 1、标准STL关联式容器分为set和map,以及这两大类的衍生体multiset和multimap。这些容器均以RB-tree完成,RB-tree也是 一个独立容器,但并不开放给外界使用。 2、SGI STL还提供了一个不在标准规格之列的关联式容器:hash table,以及以此为底层机制而完成的hash_set,hash_map ,hash_multiset,h原创 2010-02-25 13:13:00 · 1220 阅读 · 0 评论 -
【STL】配接器细节
一、概观 1、STL提供各种配接器,改变仿函数者,我们称为function adapter,改名容器接口者,称为container adapter,改变迭代器 接口者,称为iterator adapter 2、STL提供了许多应用于迭代器身上的配接器,包括: insert iterator reverse iterator iostream iterator原创 2010-02-25 16:17:00 · 932 阅读 · 0 评论 -
【STL】序列式容器细节
一、概论 1、序列式容器 array(build-in) C++内建 vector heap 内含一个vector priority-queue 内含一个heap list slist deque stack 内含一个deque queue 内含一个deque 2、关联式容器 R原创 2010-02-25 08:17:00 · 666 阅读 · 0 评论 -
【STL】仿函数细节
一、概观 1、在STL历史上有两个不同的名称,仿函数是早期的命名,C++标准规格定案后采用的新名称是函数对象。 2、要将某种操作当作算法的参数,唯一办法是先将该操作设计为一个函数,再将函数指针当作算法的一个参数,或是将该操作设计 为一个所谓的仿函数(就语言层面而言是个class),再以该仿函数产生一个对象,并以此对象作为算法的一个参数。 3、既然函数指针可以达到“将整组操作当作算原创 2010-02-25 15:13:00 · 720 阅读 · 0 评论 -
【STL】算法细节
一、概论 1、质变算法--会改变操作对象的值 2、非质变算法-不改变操作对象的值 3、所有泛型算法的前两个参数都是一对迭代器 二、算法的泛化过程 1、将一个叙述完整的算法转化为程序代码,是任何训练有素的程序员胜任愉快的工作。 2、泛化是一个渐进过程,从具体到抽象的过程。 3、迭代器是一个行为类似指针的对象,在泛化过程中承担重要的角色。 4、STL算法在效率上原创 2010-02-25 20:35:00 · 597 阅读 · 0 评论 -
【翻译】一些有趣的算法代码
作者:Keith Schwarz是斯坦福大学计算机科学硕士,目前担任斯坦福大学计算机科学系的讲师。Keith的主页:http://www.keithschwarz.com 上有其正在进行的项目描述,而本篇翻译的是其项目之一,主要是关于一些算法的实现和应用,目前已经有88个算法应用,而其的目标是要实现135个。文章来源:http://www.keithschwarz.com/interest翻译 2011-12-12 17:51:00 · 4837 阅读 · 0 评论