STL_Hash_map
生活随笔
收集整理的這篇文章主要介紹了
STL_Hash_map
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在windows 和 linux下引入hash_set、hash_map頭文件
推薦使用方法:在源代碼的前面寫入一下代碼:
// just for "#include <hash_*>" in linux
#if?__GNUC__>2
#include?<ext/hash_set>
#include?<ext/hash_map>
using?namespace?__gnu_cxx;
#else
#include?<hash_set>
#include?<hash_map>
using?namespace?stdext;
#endif
其它解釋和方法:
因為hash_map以前不屬于標準庫,而是后來引入的。
所以在windows下需要使用stlport,然后在setting中加入Additional library path。
在linux下使用gcc的時候,引入<hash_map>,使用的時候也說找不到hash_map,而這種后來引入標準庫的有兩種可能: 一種是它被放在了stdext名空間里,那么就要使用using namespace stdext引入該名空間并#include <hash_map>; 另一種可能就是它被放在標準庫的ext目錄底下,這時就仍舊需要使用屬于std名空間,這時你的源文件應當#include <ext/hash_map>; 如果不知道是哪一種,就需要自己查一下,切換到c++庫目錄下:| cd /usr/include/c++/4.*.* |
???? 然后使用grep命令:
| grep -iR "hash_map" ./ |
??? 查看hash_map在哪個頭文件中。
??? 找到后進去看一下就知道它到底被包含在哪個命名空間中了
總結
以上是生活随笔為你收集整理的STL_Hash_map的全部內容,希望文章能夠幫你解決所遇到的問題。