C++ STL:六大组件全解析
容器:数据的收纳盒
容器是 STL 中用于存储数据的数据结构,就像是一个个不同功能的收纳盒,方便我们管理和组织数据。根据其特性和用途,容器主要分为序列容器(Sequence Containers)、关联容器(Associative Containers)和容器适配器(Container Adapters)。
序列容器
序列容器中的元素按顺序存储,每个元素都有特定的位置,可以通过位置访问元素。常见的序列容器有vector、list和deque。
- vector(向量):它是一个动态数组,在内存中拥有一段连续的存储空间,支持快速随机访问,比如可以使用[]操作符快速访问任意位置的元素。这就好比书架上连续摆放的书籍,我们可以快速定位到想要的那一本。但是在中间插入和删除元素时,需要移动其他元素,效率较低,不过在末端插入和删除元素速度较快。当vector的内存空间不足时,会重新分配内存,将