hash_map
和 hash_set
头文件尚未包含在 C++ 标准中,但它们可以作为我最近使用过的所有编译器的扩展。
我想知道在不牺牲可移植性的情况下,在实际代码中我可以在多大程度上依赖这些。 我正在开发需要在多种架构和编译器上运行的工具项目,包括:
我意识到其中一些非常奇特,但这不是重点。 您在跨多个平台和编译器进行 STL 扩展方面有何经验? 它们无处不在吗? 你会在你的项目中使用它们吗?
不,如果您是一个足够大的组织/项目,您可以自己编写。这样您就可以定制它们以更好地满足您的需求并解决可移植性问题。 EA 做到了这一点,他们的“eastl”旨在针对所有游戏平台,PC、Mac、XBOX360、Wii、PS2、PS3 等...