作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在编写一个嵌入式应用程序,不幸的是,我使用的环境目前不支持 C++11。
我需要实现一个散列/无序映射(出于性能原因,常规 std::map
无法实现),但似乎无法找到干净利落的方法。
Boost 不想在不引入几乎整个库的情况下工作。即使是来自 SGI 的原始 STL hash_map
也需要多个 header ,并复制标准库功能,导致函数调用不明确。真是一团糟。
为了便于实现、版本控制、质量控制、V&V 等。我真的需要一些东西来利用现有的标准库,并且只存在于几个头文件中,我可以将它们放在与所有其他源/相同的文件夹中头文件。这样的事情存在吗,还是我没有希望了?找了半天,还是一无所获。
非常感谢您的帮助。如有必要,我当然可以进一步澄清。
最佳答案
你看过 GNU 实现了吗?在我的 Ubuntu 机器上,unordered_map.h 不包含任何内容。该文件位于
/usr/include/c++/4.6/bits/unordered_map.h
虽然/usr/include/c++/4.6/中的文件“unordered_map”有更多的标题,但它大约有 400 行,但我猜你可以调整它们。
我想你可以从 GNU.org (?) 找到实现的源代码并自己编译?
关于c++ - hash_map/unordered_map 的解耦版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13366813/
我是一名优秀的程序员,十分优秀!