我有一个表格,其中的条目是这样的
Row - Column1 - Column2 - Column3 Column4
1 0X0A 1 2 A
2 0X0B 2 2 B
3 0x0C 3 2 C
现在我想使用map,以便我可以使用第1列或第2列作为获取行的键。 我应该用什么样的地图来实现这个目标?
(注 - 表仅供说明而非确切要求) 我想过使用multimap,但这不会解决问题
答案 0 :(得分:7)
从boost尝试多索引容器。
答案 1 :(得分:1)
使用自定义比较器定义类似于pair
的类,如果第一个成员或第二个成员匹配,则表示相等,但不一定两者都匹配。然后,您可以将该类用作您的密钥类型。您可能需要为数据中永远不会使用的每个成员使用特定值,以在构造函数中用作默认值,以避免由于剩余数据而仅在第二个成员上偶尔匹配第一个成员的键。
答案 2 :(得分:0)
您可以使用一个地图从第1列映射到该行,而另一个映射从第2列映射到该行。根据需要重复多列