Logo
Section 1 / 6

简介

本章介绍C++中所有类型容器所共有的各种特性。

导入

简介

本章介绍C++中所有类型容器所共有的各种特性。

尽管标准模板库中的顺序容器和关联容器是两类截然不同的容器,但它们之间也存在许多共性。例如,创建或销毁容器、确定容器大小、访问元素、赋值或交换等操作,都与容器中元素的类型无关。通常情况下,容器可以定义为任意大小,并且每个容器都有一个分配器(allocator),这使得容器的大小能够在运行时动态调整。分配器通常在后台工作,这一点可以从 std::vector 看出:std::vector<int> 实际上会调用 std::vector<int, std::allocator<int>>。正因如此,除了 std::array 之外,所有容器的大小都可以动态调整。此外,它们还有更多共同点:都可以通过迭代器方便地访问容器中的元素。

尽管具有诸多共性,这些容器在细节上仍存在差异。有关详细说明,请参考“顺序容器”和“关联容器”章节。

C++ 提供了多种顺序容器,包括 std::array、std::vector、std::deque、std::list 和 std::forward_list,可针对不同应用场景灵活选用。

同样,关联容器也可分为有序和无序两大类,各自适用于不同的使用需求。

std::any、std::optional 和 std::variant

创建与删除