bitset - 用于存储位。通用 - 存储一些标志的值。你不需要更多的 1 位。
deque - 双端队列 - push_back、push_front、pop_back 和 pop_front - 基本类的方法。 “未排序”(无序)容器。
list - 链表。此容器不是内存连续的。添加和删除元素的时间是 O(1),但查找特定元素的时间是 O(n)。无序容器。
map - 容器,存储对(std::pair)。第一个是键 - 地图中的每个元素都必须具有唯一键。地图表示为树,因此在地图中搜索元素是 n*log(n)。这个容器总是排序的,这就是为什么添加和删除元素会导致更多时间 - 树(数据结构)是二元和平衡的。
multimap - 几乎与 std::map 相同,但允许具有相同键的对。例如,多图可以包含元素:(666, "alabala"), (666, "asdfg"),而标准的 std::map 不能。此容器也已排序。
multiset - 再次 - 与 set 相同,但具有可重复的元素。 set - 好吧,这也总是排序的 STL 容器。例如,一个集合是 { 1, 2, 3 },当您尝试将“1”添加到该集合中时,它不会被添加,因为已经存在这样的元素。 (它类似于数学的集合)。因此,多重集允许多个元素具有相同的值,例如 { 1, 1, 1, 2, 3, 4, 4, 4, 4 } 是正确的多重集,但它不是一个集。在 std::set 中添加和删除元素仍然是对数时间,因为它表示为二叉、排序和平衡树。
priority_queue - 根据一些严格的弱排序条件,它的第一个元素总是它包含的元素中最大的。基本功能 - push_back 和 pop_back。
queue - FIFO 结构 - 先进先出。 (或与 LILO 相同 - 后进 - 后出)。这类似于标准队列 - 当您去商店并开始排队等候时,第一个将是第一个去的。你可以只是 push_back 和 pop_front。无序容器。
set - 我已经在多集部分描述了它。
stack - LIFO - 后进先出 - 堆栈。基本功能 - push_back、pop_back。无序容器。
vector - 类似于标准 c++ 数组。它被视为常规数组,它是内存连续的,可以传递给 C 程序(传递第一个元素的地址)。无序容器。
重要提示:我描述的是基本功能,而不是全部功能。阅读CPlusPlus.com 了解更多信息。