容器(现代C++)

默认情况下为默认顺序容器 C++ 中使用矢量。 这相当于列表 <T> 用其他语言。

vector<widget> v;
v.push_back( “Geddy Lee” );

用作默认关联容器映射 (不是 unordered_map)。 使用组,multimap,多集的退化 & 多情况。

map<string, string> phone_book;
phone_book[“Alex Lifeson”] = “+1 (416) 555-1212”;

当需要时优化性能时,请考虑使用:

  1. 当嵌入是一种重要的数组类型、 e.g.,作为类成员。

  2. unordered_map,et al.: 开销更低的每个元素 (主要) 和常量时查找 (次要因为使用符号 O(K)) O (log N) 无效。 使用正确而高效地运营的不便表示歉意由于 + 清晰边缘更加困难。

  3. 已排序的向量。 (请参阅: 算法。)

不要使用 C 数组。 (对于较旧 Api,可以使用 f vec.data() vec.size())。 .)

请参见

其他资源

返回C++ (现代C++)的欢迎

C++语言参考

标准C++库参考