#include <iostream>
#include <vector>
#include <list>
#ifdef __GNUC__
#include <ext/hash_map>
#else
#include <hash_map>
#endif
Run Code Online (Sandbox Code Playgroud)
编译器说"hash_map:没有这样的文件或目录"需要帮助.谢谢.
Mur*_*los 13
在MacOSX上,正确的标题<ext/hash_map>不在<hash_map>.这里工作得很好:
#if defined __GNUC__ || defined __APPLE__
#include <ext/hash_map>
#else
#include <hash_map>
#endif
int main()
{
using namespace __gnu_cxx;
hash_map<int, int> map;
}
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我更喜欢使用<tr1/unordered_map>.
的<hash_map>头部不是C++标准的一部分,并且是一个特定的编译器的实现.无法保证您能够在任何特定系统上找到它,或者每个系统上出现的各种实现将彼此相互兼容.
如果您想使用C++中的哈希表,你可能想看看boost::unordered_map,tr1::unordered_map或原型的C++ 0x编译器的实现std::unordered_map.这些实现由ISO或Boost社区完全标准化,并且可以轻松地安装在大多数C++编译器上.我知道仅仅说"使用不同的库重写此代码"对我来说有点冒昧,但考虑到C++即将获得这种形式的哈希容器,这可能是值得的投资.
| 归档时间: |
|
| 查看次数: |
9779 次 |
| 最近记录: |