gpt4 book ai didi

c++ - 在 C++ 中将不同的键映射到相同的值

转载 作者:搜寻专家 更新时间:2023-10-31 01:35:51 27 4
gpt4 key购买 nike

于是四处搜索,发现我们可以使用multi-map将一组等价的键映射到不同的值。我想知道如何做相反的事情?那就是将不同的键映射到同一个值?是否有一个 STL 数据结构?

最佳答案

普通的 std::map(或 std::unordered_map)可以做到这一点。您有几种选择:

  • 普通键值存储,您可以根据需要在其中复制值
  • 普通键值存储,但值是指向可以共享的实际数据的指针,可选择使用 std::shared_ptr
  • 使用某种结构(可能是 std::tuple)来收集 key (尽管处理这个可能比它的值(value)更麻烦,我真的不推荐这样做)
  • 使用Boost multi-index containers

有了 Boost,你就有了一个可以直接使用的现成解决方案,如果你已经在你的项目中使用了 Boost(它是一组很棒的库,并且很好地补充了标准库),我认为选择它是一件很容易的事那个解决方案。

关于c++ - 在 C++ 中将不同的键映射到相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36638018/

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