《C++标准程序库》学习笔记(一)初识STL

原创 2011年01月08日 13:39:00
STL(标准模板库)是C++标准程序库的核心。STL是一个泛型(generic)程序库,提供一系列软件方案,利用先进、高效的算法来管理数据。从程序员的角度看来,STL是由一些可适应不同需求的群集类别(collection classes),和一些能够在这些数据群集上运作的算法构成。STL内的所有组件都由templates(模板)构成,所以其元素可以是任意型别。

STL的六大组件:

l 容器(container)用来管理某类对象的集合。

l 算法(algorithm)用来处理群集内的元素。

l 迭代器(iterator)用来在一个对象群集(collection of objects)的元素上进行遍历动作。

l 配接器(adapter

l 仿函数(functor

l 配置器(allocator

 图1 STL组件之间的合作

备注:容器、算法、迭代器——STL的三个基本组件。


侯捷曾经把STL的学习比喻为三个境界(或层次):

第一境界:熟用STL

第二境界:了解泛型技术的内涵与STL的学理乃至实作

第三境界:扩充STL

一般的程序员,能达到第一个境界已经是不小的收获了,如果达到第二境界那可谓是很大的成绩了!于我,是不敢奢求第三境界的


附1:STL(Standard Template Library)在维基百科中的简介(链接在这里)。

相关文章推荐

C++标准程序库 学习笔记 第五章 STL(标准模板库概述)

1. 容器 关联容器的排序问题,默认为operator > iset;      greater 为一个类类型(greater() 调用默认构造函数,返回临时对象,) eg:     //...

《C++标准程序库》学习笔记(三)迭代器

《C++标准程序库》学习笔记(三)迭代器
  • buyicn
  • buyicn
  • 2011年01月08日 15:46
  • 791

C++标准程序库学习笔记(一)

1.关联式容器(set,multiset,map,multimap)已经排好序,如果是string类型则为字典序。 2.typedef vector s1;//并没有一个对象,而是用s1去声...

C++标准程序库 学习笔记 第十章 特殊容器

特殊容器: stack 栈 queue 队列 priority_queue优先队列~      特殊容器没有迭代器的哟~~ 1. stack 栈   默认由deque实作而成~    主要是...

《C++标准程序库》学习笔记(四)算法

为了处理容器内的元素,STL提供了一些标准算法,包括搜寻、排序、拷贝、重新排序、修改、数值运算等十分基本而普遍的算法。 算法并非容器类别的成员函数,而是一种搭配迭代器使用的全局函数。   区间 ...
  • buyicn
  • buyicn
  • 2011年01月08日 16:17
  • 649

C++标准程序库 学习笔记 第二章 && 第三章

第二章  C++及标准程序库简介 1.通过在成员名前加上 typename,可以告诉编译器将成员当作类型. C++规定,除了以typename修饰之外.template内的任何标识符号都被视为一个值...

《C++标准程序库》学习笔记(二)容器

容器,用来管理某类对象的集合。 图1 STL的容器种类 序列式容器(Sequence Containers) STL内部预先定义好以下三个序列式容器: l Vectors l ...
  • buyicn
  • buyicn
  • 2011年01月08日 13:52
  • 1036

《C++标准程序库》——STL迭代器

原文地址:http://www.cnblogs.com/chinazhangjie/archive/2011/06/25/2090084.html 1 头文件   所有容器有含有其各自的迭...

c++标准程序库:STL容器之vector

http://blog.csdn.net/pipisorry/article/details/39231949vector(向量): C++中的一种数据结构,确切的说是一个类。它相当于一个动态的数组,...

PKU C++程序设计实习 学习笔记6 标准模板库STL

标准模板库STL 8.1 STL概述 1.泛型程序设计 C++ 语言的核心优势之一就是便于软件的重用 C++中有两个方面体现重用:1.面向对象的思想:继承和多态,标准类库  2.泛型程序设计(gene...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《C++标准程序库》学习笔记(一)初识STL
举报原因:
原因补充:

(最多只允许输入30个字)