gpt4 book ai didi

c++ - multimap 的每个元素都包含键和值吗?

转载 作者:可可西里 更新时间:2023-11-01 17:37:45 25 4
gpt4 key购买 nike

我无法想象没有人问过这个问题,但我没有找到它的运气。

multimap 的每个元素是否包含其值其键?

multimap 的内部结构是否更像这样:

map<key, vector<value>>

或者更像这样:

vector<pair<key, value>>

最佳答案

每个元素都包含它的键和值。

你可以看出是因为迭代返回一个稳定的非分配引用 std::pair<Key const, Value> .

此外,Keys 可以比较相等但不同。 multimap 允许您在不属于排序的键中存储“额外数据”,之后您将取回它并将它与该值相关联。

将 multimap 实现为 std::map<Key, std::vector<Value>>是一个有时比使用 std::multimap<Key,Value> 更好的选项.尤其是每个键有多个值时,它的内存效率更高,具有更好的局部性等。如果你想均匀地迭代它可能会更棘手,但如果你想迭代键聚集的东西就更容易了。

关于c++ - multimap 的每个元素都包含键和值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49695508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com