Hash_Map
Posted abnk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hash_Map相关的知识,希望对你有一定的参考价值。
1.
#include <iostream> #include <map> #include <hash_map> // 对该结构体按照xxx排序,在hash_map中存储name和地址 struct Site { Site(const std::string &n, const std::string &i) : name(n), info(i){} std::string name; std::string info; ~Site(){} }; // 定义哈希函数。这是散列过程中用到的仿函数。 struct hash_site { size_t operator()(const std::string &str)const { return __gnu_cxx::__stl_hash_string(str.c_str()); } }; // 定义定址函数, 查找时需要用到的仿函数。 struct equal_index { // bool operator()(const std::string &siteName, struct Site *site) const bool operator()(const std::string &name, const Site * &site) const { return site->name == name; } }; int main() { // get Site addr by name. TBD : get name by Site addr __gnu_cxx::hash_map <std::string, Site*, hash_site, equal_index> Sites; Site s1("alex1", "26"); Site s2("alex2", "27"); Site s3("alex3", "28"); Sites["alex1"] = &s1; //std::cout << Sites["ccc"]->info << std::endl; }
以上是关于Hash_Map的主要内容,如果未能解决你的问题,请参考以下文章
gcc 中是不是有 stdext::hash_map 的等价物