# Ca1mSTL **Repository Path**: ca1m3/ca1m-stl ## Basic Information - **Project Name**: Ca1mSTL - **Description**: 《STL源码剖析》学习笔记。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-10-11 - **Last Updated**: 2025-10-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # STL源码剖析学习笔记 - 针对SGI-STL ### STL六大组件 STL提供六大组件,彼此可以组合套用: 1. 容器(containers):各种数据结构,如vector、list、deque、set、map,用以存放数据。 2. 算法(algorithms):各种常用算法,如sort、search、copy、erase等。 3. 迭代器(iterators):扮演容器与算法之间的胶合剂,是所谓的“泛型指针”,所有STL容器都附带有自己专属的迭代器。 4. 仿函数(functors):行为类似函数,可作为算法的某种策略。 5. 配接器(adapters):用来修饰容器或仿函数或迭代器接口的东西。 6. 配置器(allocators):负责空间配置与管理,从实现角度来看,配置器是一个实现了动态空间配置、空间管理、空间释放的class template。 ![image.png](./res/img1.png) ### 前闭后开表示法 任何一个STL算法,都需要获得由一对迭代器(泛型指针)所标示的区间,用以表示操作范围,这一对迭代器所标示的是前闭后开区间,以`[first, last)`表示。 ![image.png](./res/img2.png)