簡體   English   中英

C ++中地圖的多個鍵

[英]multiple keys for a map in C++

我有一個表格,其中的條目是這樣的

Row - Column1 - Column2 - Column3 Column4

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

現在我想使用map,以便我可以使用第1列或第2列作為獲取行的鍵。 我應該使用什么樣的地圖來實現這一目標?

(注 - 表只是為了解釋而不是確切的要求)我想過使用multimap,但這不會解決問題

嘗試使用boost的多索引容器。

使用自定義比較器定義類似於pair的類,如果第一個成員或第二個成員匹配,則表示相等,但不一定兩者都匹配。 然后,您可以將該類用作您的密鑰類型。 您可能需要為數據中永遠不會使用的每個成員使用特定值,以在構造函數中用作默認值,以避免由於剩余數據而僅在第二個成員上偶爾匹配第一個成員的鍵。

您可以使用一個地圖從第1列映射到該行,使用另一個映射從第2列映射到該行。 根據需要重復多個列

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM