2011-07-12 51 views
1

我想製作一個包含三個寬字符數組的數組,這樣其中一個就是關鍵。使用數據結構代替hash_map

「LPWCH,LPWCH,LPWCH」,因爲它認爲它是一個標籤

的hash_map只允許我用一對無法使用大於/小於較小的符號。 wKey和與之相關的元素。有另一種數據結構可以讓我使用它嗎?

這個集合幾乎可以同時被不同的線程更新。這就是爲什麼我不想使用類或其他結構來定義剩下的兩個寬字符數組的原因。

回答

2

您可以使用LPWCH作爲鍵和std::pair<LPWCH, LPWCH>作爲元素。

+0

這工作,非常感謝 – roymustang86

1

使用任何LP-typedefs都不好。你只會比較點,而不是字符串。 LPWCH只不過是一個WCHAR*,它可以鑽到void*。當你比較兩個指針時,你在比較它們指向的位置,而不是它們指向的是什麼

您也需要有另一個比較器連接到您的地圖/的hash_map,或使用實際的字符串數據類型(如std::stringCString