函数
GLibHashTablefind
自 2.4 以来
声明 [src]
gpointer
g_hash_table_find (
GHashTable* hash_table,
GHRFunc predicate,
gpointer user_data
)
描述 [src]
调用给定的函数,它的键/值对在 GHashTable
中,直到 predicate
返回 TRUE
。函数将键、值和给定的 user_data
参数传递给每个对。在遍历哈希表时,可能无法修改哈希表(不能添加/删除项目)。
请注意,哈希表真正优化的只是正向查找,即 g_hash_table_lookup()。因此,频繁发出 g_hash_table_find()
或 g_hash_table_foreach()
(例如,在哈希表中每个条目的顺序)的代码可能需要重写以使用额外的或不同的数据结构进行反向查找(请注意,为哈希表中的所有n个值执行的O(n)寻找/foreach操作最终需要O(n*n)个操作)。
自 2.4 以来可用
参数
hash_table
-
类型:
GHashTable
一个
GHashTable
。数据由函数的调用者拥有。 predicate
-
类型:
GHRFunc
用于测试键/值对的一定特性的函数。
user_data
-
类型: code
gpointer
传递给函数的用户数据。
此参数可以 NULL
。数据由函数的调用者拥有。