STL六大组件

简介: 一. STL六大组件介绍1. 容器STL容器包含两种:序列式容器主要有vector、list、deque,以及关联式容器主要有set、map、multiset、multimap。


一. STL六大组件介绍

1. 容器

STL容器包含两种:序列式容器主要有vector、list、deque,以及关联式容器主要有set、map、multiset、multimap。

容器主要是用来存放数据的,从实现的角度来看容器是一种class template(类模板)。


2. 算法

STL包含算法达上百种,主要有sort、search、copy、erase、find等,从实现的角度来说算法是一种function template(函数模板)

注意一个问题:任何的一个STL算法,都需要获得由一对迭代器所标示的区间,用来表示操作范围。这一对迭代器所标示的区间都是前闭后开区间,例如[first, last)。也就是说实际上,整个区间是从first开始到last-1,迭代器last指的是最后一个元素的下一个位置。在STL中所有区间都是采用前闭后开,这样可以带来很多方便。


3. 迭代器

STL中迭代器主要用来把容器和算法结合起来,扮演容器与算法之间的胶合剂,是所谓的“泛型指针”。从实现的角度看迭代器是一种将operator*、operator->、operator++、operator--等指针操作重载的class template(类模板)。所有的STL容器都有自己的迭代器,只有容器本身才知道如何遍历自身的元素。


4. 仿函数

仿函数是一种行为类似函数,但是实际是重载了operator()的class或class template(类模板),一般函数指针可视为狭义的仿函数。

#include<iostream>
#include<algorithm>
using namespace std;

class A{
public:
      int operator()(int x, int y){
          return x+y;
	  }
};
 
int main(){ 
	A *a = new A();
	cout<<(*a)(3,4)<<endl;
	
    getchar();
    return 0;
}
/*
输出
7 
*/

5. 适配器

适配器主要用来修饰容器接口、迭代器接口或仿函数接口的东西;STL提供了stack、queue两种容器适配器,stack和queue的底层完全是由deque来实现的。

改变容器接口的称为容器适配器、改变迭代器接口的称为迭代器适配器、改变仿函数接口的称为仿函数适配器


6. 空间配置器

STL的空间配置器主要用来给容器进行空间的配置与管理,从实现的角度来说空间配置器是实现了一个动态分配空间、空间管理、空间释放的class template(类模板)。


二. STL六大组件的交互关系



 容器通过空间配置器取得数据存储空间;算法利用迭代器向容器存取数据;仿函数协助算法完成不同的策略;适配器可以用来修改容器、迭代器或仿函数的接口;



目录
相关文章
|
9月前
|
C++ 容器
基于STL的演讲比赛流程管理系统
基于STL的演讲比赛流程管理系统
|
4月前
|
算法 安全 Linux
【C++STL简介】——我与C++的不解之缘(八)
【C++STL简介】——我与C++的不解之缘(八)
|
4月前
|
存储 编译器 C++
【C++篇】揭开 C++ STL list 容器的神秘面纱:从底层设计到高效应用的全景解析(附源码)
【C++篇】揭开 C++ STL list 容器的神秘面纱:从底层设计到高效应用的全景解析(附源码)
103 2
|
8月前
|
C++ 索引
C++核心技术要点《运算符重载》
C++核心技术要点《运算符重载》
65 2
|
7月前
|
存储 前端开发 容器
前端开发的设计思路【精炼】(含数据结构设计、组件设计)
前端开发的设计思路【精炼】(含数据结构设计、组件设计)
73 0
|
9月前
|
存储 算法 C++
《C++ STL开发技术引导》 第五章-C++ STL泛化技术分析笔记
《C++ STL开发技术引导》 第五章-C++ STL泛化技术分析笔记
|
设计模式 算法 C++
72 C++ - STL三大组件
72 C++ - STL三大组件
57 0
|
存储 算法 API
【C++】STL梳理
【C++】STL梳理
174 6
【C++】STL梳理
|
存储 容器
容器类与项目概括
容器类与项目概括 容器类 项目概括
121 0
|
设计模式 前端开发 Java
面向对象设计的六大设计原则 (通俗易懂的版本)
六大原则虽说是原则,但它们并不是强制性的,更多的是建议。

热门文章

最新文章