Google Sparse Hash

可以较容易的用来替换准标准的hash_map和hash_set。

文件:sparsehash-1.3.zip
大小:1210KB
下载:下载

An extremely memory-efficient hash_map implementation, with only 2 bits/entry overhead.

We've Moved!

Google SparseHash is now hosted at code.google.com. Our new homepage is located athttp://code.google.com/p/google-sparsehash.

Overview

The Google SparseHash project contains several hash-map implementations in use at Google, with different performance characteristics, including an implementation that optimizes for space and one that optimizes for speed.

SparseHash is a template library; there are no binaries to install.

SparseHash is distributed under the terms of the BSD License.

For downloads, news, and other information, visit our Project Page

Example

This is by no means a complete example; it simply gives you a feel for what the Sparsehash API looks like.

#include <iostream>
#include <google/sparse_hash_map>

struct eqstr
{
    bool operator()(const char* s1, const char* s2) const
    {
        return (s1 == s2) || (s1 && s2 && strcmp(s1, s2) == 0);
    }
};

int main()
{
    google::sparse_hash_map<const char*, int, hash<const char*>, eqstr> months;

    months.set_deleted_key(NULL);
    months["january"] = 31;
    months["february"] = 28;
    months["march"] = 31;
    months["april"] = 30;
    months["may"] = 31;
    months["june"] = 30;
    months["july"] = 31;
    months["august"] = 31;
    months["september"] = 30;
    months["october"] = 31;
    months["november"] = 30;
    months["december"] = 31;

    std::cout << "september -> " << months["september"] << std::endl;
    std::cout << "april     -> " << months["april"] << std::endl;
    std::cout << "june      -> " << months["june"] << std::endl;
    std::cout << "november  -> " << months["november"] << std::endl;
    
    return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值