函数
GLibHashTablenew_full
声明 [src]
GHashTable*
g_hash_table_new_full (
GHashFunc hash_func,
GEqualFunc key_equal_func,
GDestroyNotify key_destroy_func,
GDestroyNotify value_destroy_func
)
描述 [src]
创建一个新的类似于 g_hash_table_new()
的 GHashTable
,引用计数为1,并允许指定在从 GHashTable
中移除条目时调用的释放关键和值分配的内存的函数。
自2.42版本起,销毁通知函数可以递归地从哈希表中删除更多项目。这仅在应用程序仍然持有哈希表的引用时才允许这样做。这意味着您可能需要在使用 g_hash_table_unref() 释放最后一个引用之前通过调用 g_hash_table_remove_all() 确保哈希表为空。
此函数不能直接提供给语言绑定。
参数
hash_func
-
类型:
GHashFunc
创建从键生成哈希值的函数。
key_equal_func
-
类型:
GEqualFunc
检查两个键是否相等的函数。
key_destroy_func
-
类型:
GDestroyNotify
移除条目从
GHashTable
时用于释放关键分配的内存的函数,或者如果不想提供这样的函数,则为NULL
。 value_destroy_func
-
类型:
GDestroyNotify
移除条目从
GHashTable
时用于释放值分配的内存的函数,或者如果不想提供这样的函数,则为NULL
。
返回值
类型: GHashTable
一个新的 GHashTable
。
函数的调用者拥有数据,并负责释放它。 |