niuniu 分享于 昨天 1982阅 0人收藏此代码, 我要收藏

可以从 GitHub project page 下载uthash

uthash使用范例 Example 1. Adding an item to a hash.添加项目到hash表

#include "uthash.h"

struct my_struct {
    int id;            /* we'll use this field as the key */
    char name[10];             
    UT_hash_handle hh; /* makes this structure hashable */

struct my_struct *users = NULL;

void add_user(struct my_struct *s) {
    HASH_ADD_INT( users, id, s );    

//该代码片段来自于: http://www.sharejs.com/codes/cpp/8956
Example 2. Looking up an item in a hash. 在hash表中查找指定项

struct my_struct *find_user(int user_id) {
    struct my_struct *s;

    HASH_FIND_INT( users, &user_id, s );  
    return s;

Example 3. Deleting an item from a hash.从hash表中删除项目

void delete_user(struct my_struct *user) {
    HASH_DEL( users, user);  

  • uthash
  • hash算法
  • C++