gpt4 book ai didi

c++ - 我如何以无序和可变的方式使用 boost::bimap?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:21:18 26 4
gpt4 key购买 nike

我正在寻找双向无序 map 。目前,我只有这个。问题是,我不能使用 []。我认为 boost 默认为列表类型。但我想要一个 HashMap 。这怎么可能?

#include <string>
#include <boost/bimap.hpp>

boost::bimap<std::string, size_t> indices;
// ...
size_t index = 42;
indices.right[index].second = "name"; // This doesn't work.

关于 overview page ,我发现 unordered_set_of 使 bimap 表现得像 hashmap。但是,我无法在插入后修改值。

最佳答案

我切换到两个 std::unordered_map 容器。缺点是您必须手动保持两者同步。另一方面,这对我来说更实用,因为 Boost 代码变得非常冗长。

#include <string>
#include <unordered_map>

std::unordered_map<std::string, size_t> indices;
std::unordered_map<size_t, std::string> names;
// ...
size_t index = 42;
std::string name = "John";
indices[name] = index;
names[index] = name;

关于c++ - 我如何以无序和可变的方式使用 boost::bimap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25873246/

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