码迷,mamicode.com
首页 > 其他好文 > 详细

Hash_Map

时间:2020-05-07 22:40:06      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:stream   存储   技术   dex   spl   ash   ios   name   过程   

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;
}
View Code

 

Hash_Map

标签:stream   存储   技术   dex   spl   ash   ios   name   过程   

原文地址:https://www.cnblogs.com/abnk/p/12846133.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!