3

我有一张表,其中的条目是这样的

Row - Column1 - Column2 - Column3 Column4

 1     0X0A      1          2      A
 2     0X0B      2          2      B
 3     0x0C      3          2      C

现在我想使用地图,这样我就可以使用第 1 列或第 2 列作为获取行的键。我应该使用什么样的地图来实现这一目标?

(注意-表格只是为了解释,而不是确切的要求)我想过使用多图,但这并不能解决问题

4

3 回答 3

7

尝试来自boost的多索引容器。

于 2012-06-18T16:30:17.443 回答
1

定义一个类似于pair自定义比较器的类,如果第一个成员或第二个成员匹配,则表示相等,但不一定两者都匹配。然后,您可以使用该类作为您的密钥类型。您可能需要为每个永远不会在数据中使用的成员指定一个特定值,以用作构造函数中的默认值,以避免由于剩余数据而仅初始化第一个成员的键偶尔匹配第二个成员。

于 2012-06-18T16:35:46.423 回答
0

您可以使用一个映射从第 1 列映射到行,而另一个映射从第 2 列映射到行。根据需要重复尽可能多的列

于 2012-06-18T16:32:21.597 回答