zoukankan      html  css  js  c++  java
  • 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;
    }


  • 相关阅读:
    Linux 用户和组管理
    Bash 基础特性
    Linux 中常用的基础命令二
    Linux 中常用的基础命令一
    Linux 获取帮助
    Linux 基础入门二
    Linux 基础入门一
    计算机基础
    python 操作元组 列表===python中三大宝刀(字典已经再上一遍 说过)
    mysql 创建数据存储过程的申明
  • 原文地址:https://www.cnblogs.com/aquester/p/9891951.html
Copyright © 2011-2022 走看看