Cpp的STLSTLStandard Template Library是C++中的一个标准库它提供了一组通用的数据结构和算法包括容器、迭代器、算法和函数对象等可以大大提高C++程序的开发效率和代码质量。STL中的容器包括vector、list、deque、set、map等它们都是模板类可以存储不同类型的数据。迭代器是STL中的重要概念它是一个指针类可以用来遍历容器中的元素。算法包括排序、查找、遍历
STL中的类非常多,以下是一些常用的类:
- 容器类:
- vector:动态数组,支持快速随机访问和尾部插入删除操作。
- list:双向链表,支持快速插入删除操作。
- deque:双端队列,支持快速随机访问和头尾插入删除操作。
- set/multiset:红黑树,支持自动排序和去重。
- map/multimap:红黑树,支持自动排序和键值对存储。
- unordered_set/unordered_multiset:哈希表,支持快速查找和去重。
- unordered_map/unordered_multimap:哈希表,支持快速查找和键值对存储。
- 迭代器类:
- input_iterator:输入迭代器,只能单向遍历,用于读取数据。
- output_iterator:输出迭代器,只能单向遍历,用于写入数据。
- forward_iterator:前向迭代器,支持单向遍历和修改数据。
- bidirectional_iterator:双向迭代器,支持双向遍历和修改数据。
- random_access_iterator:随机访问迭代器,支持随机访问和修改数据。
- 算法类:
- sort:排序算法,支持快速排序、归并排序等。
- find:查找算法,支持线性查找、二分查找等。
- copy:复制算法,支持将一个容器的数据复制到另一个容器中。
- transform:变换算法,支持对容器中的每个元素进行变换操作。
- accumulate:累加算法,支持对容器中的元素进行累加操作。
- unique:去重算法,支持将容器中重复的元素去重。
- 函数对象类:
- function:可调用对象,支持函数指针、仿函数、Lambda表达式等。
- bind:绑定器,支持将函数和参数绑定成一个新的可调用对象。
- plus/minus/multiplies/divides/modulus:算术运算函数对象。
- equal_to/not_equal_to/greater/greater_equal/less/less_equal:比较运算函数对象。
- logical_and/logical_or/logical_not:逻辑运算函数对象
原文地址: https://www.cveoy.top/t/topic/ccWD 著作权归作者所有。请勿转载和采集!