hash_map/unordered_map 的解耦版本

Decoupled version of hash_map/unordered_map

本文关键字:map 解耦 版本 hash unordered      更新时间:2023-10-16

我正在编写一个嵌入式应用程序,不幸的是,我使用的环境目前没有C++11支持。

我需要实现一个哈希/无序映射(出于性能原因,常规std::map不会这样做),但似乎找不到一种方法来干净地做到这一点。

Boost 不想在不引入几乎整个库的情况下工作。即使是来自SGI的原始STL hash_map也需要多个标头,并且重复标准库功能,从而导致不明确的函数调用。真是一团糟。

便于实施、版本控制、质量控制、V&V 等。我真的需要一些利用现有标准库的东西,并且只存在于几个头文件中,我可以将其与所有其他源/头文件放在同一个文件夹中。这样的事情存在,还是我没有希望?我找了很久,但空手而归。

非常感谢您的任何帮助。如有必要,我当然可以进一步澄清。

你看过GNU实现吗?在我的 Ubuntu 机器上,unordered_map.h 不包含任何内容。此文件位于

    /usr/include/c++/4.6/bits/unordered_map.h

大约 400 行,尽管/usr/include/c++/4.6/中的文件"unordered_map"有更多的标题,但你可以调整我猜的那些。

我想你可以从 GNU.org(?)中找到实现的源代码并自己编译?