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

Is there an equivalent for stdext::hash_map in gcc

本文关键字:hash 等价物 map stdext gcc 是否      更新时间:2023-10-16

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

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

现在据我了解,这不是标准类型。我遇到了这个线程,它建议通过执行以下操作将其替换为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
                 ^

关于我可以用什么替换这个容器的任何建议?

而不是

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

我会一起摆脱hash_map

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

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

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