C++17 · ASSOCIATIVE CONTAINERS

选对容器,看清一次调用是否写入

先用需求约束推导关联容器,再亲手操作一个 std::map<std::string, int>。每次调用都会展示返回语义、大小变化,以及它究竟是只读还是会写。

用四项需求收敛类型

修改任意选项,右侧建议会立即变化。

1. 元素保存什么?
2. 等价键能否重复?
3. 是否需要按键排序遍历?
4. 是否需要范围 / 边界查询?
组织方式典型查询遍历顺序边界查询
有序(通常为平衡树)O(log n)按比较器排序支持 lower_bound / upper_bound
无序(哈希表)平均 O(1),最坏 O(n)不保证不支持有序边界查询