【发布时间】:2011-01-25 09:02:11
【问题描述】:
我正在寻找标准的双映射结构 - 是否在 std/boost/另一个标准 C++ 库中实现?
当我说“双映射”时,我的意思是可以通过键和“值”有效索引的映射(它实际上有两种键类型,而不是一种键类型和一种值类型)。
例如:
dualmap<int,string> m;
m[1] = "foo";
m["bar"] = 2
int a = m["bar"]; // a = 2
谢谢, 丹
【问题讨论】:
我正在寻找标准的双映射结构 - 是否在 std/boost/另一个标准 C++ 库中实现?
当我说“双映射”时,我的意思是可以通过键和“值”有效索引的映射(它实际上有两种键类型,而不是一种键类型和一种值类型)。
例如:
dualmap<int,string> m;
m[1] = "foo";
m["bar"] = 2
int a = m["bar"]; // a = 2
谢谢, 丹
【问题讨论】:
Boost 多索引可能是您想要的 - 请参阅 http://www.boost.org/doc/libs/1_42_0/libs/multi_index/doc/index.html
【讨论】:
如果您不想要 boost multi index 的所有功能,可以使用 boost bimap。
【讨论】: