具有多个“索引”的标准C ++数据结构

时间:2011-10-11 00:54:05

标签: c++ algorithm optimization data-structures c++11

C ++(或C ++ 11)中的标准结构或库是否类似set,但可能有多个key

即。一组std :: pair,可以ab快速查找。

所以你可以这样做:

std::string a = "hello";
std::string b = "world";

x.insert(a, b);

x.get<1>("hello") => std::pair("hello", "world"); // (fast lookup)
x.get<2>("world") => std::pair("hello", "world"); // (fast lookup)

基本上就像一个有两个索引的数据库表。

如果某些东西已经存在,我宁愿不重新发明轮子。

组合现有容器以使用此功能创建内容的简单方法也会很好。

1 个答案:

答案 0 :(得分:10)

我不确定您对“标准C ++”的定义是什么,但Boost.MultiIndex适用于任何标准C ++编译器。