在gcc中是否存在stdext :: hash_map的等价物

时间:2015-04-28 18:53:30

标签: c++ visual-studio gcc dictionary

我正在将一些代码从Visual Studio移植到Mingw GCC,我遇到了这种类型

typedef stdext::hash_map<std::string, SubApplication*> SubApplMap;

根据我的理解,这不是标准类型。我遇到了这个threadthis,建议通过执行以下操作将其替换为unordered_map

#include <unordered_map>
#define stdext std
#define hash_map unordered_map

因此我收到以下错误

 error: 'hash_multimap' is not a member of 'std'
 #define stdext std
                 ^

有关我可以替换此容器的任何建议吗?

1 个答案:

答案 0 :(得分:4)

而不是

typedef stdext::hash_map<std::string, SubApplication*> SubApplMap;

我会彻底摆脱所有hash_map

using SubApplMap = std::unordered_map<std::string, SubApplication*>;

而不是尝试使用预处理器宏来玩游戏。

请注意,这需要C ++ 11。