我正在编写一个嵌入式应用程序,不幸的是,我使用的环境目前还没有C ++ 11支持。
我需要实现哈希/无序映射(由于性能原因,常规std::map
不会这样做),但似乎找不到干净利落的方法。
Boost不想在没有引入整个库的情况下工作。甚至来自SGI的原始STL hash_map
也需要几个标头,并重复标准库功能,导致模糊的函数调用。这真是一团糟。
为了便于实施,版本控制,质量控制,V& V等,我真的需要一些利用现有标准库的东西,并且只存在于几个头文件中,我可以放在同一个文件夹中。源/头文件。这样的事情存在,还是我没有希望?我已经搜索了很长一段时间,但空手而归。
非常感谢您的帮助。如果有必要,我当然可以进一步澄清。
答案 0 :(得分:1)
您是否看过GNU实现?在我的Ubuntu机器上,unordered_map.h不包含任何内容。该文件位于
/usr/include/c++/4.6/bits/unordered_map.h
大约有400行虽然/usr/include/c++/4.6/中的文件“unordered_map”有更多的标题,但你可以调整那些我想的。
我认为你可以从GNU.org(?)找到实现的源代码并自己编译?