g_hash_table_new(HashFunc hash_func, GEqualFunc key_equal_func)
中的
HashFunc他们有这种类型:
g_direct_hash()
g_int_hash()
g_int64_hash()
g_double_hash()
g_str_hash()
GEqualFunc他们有这种类型:
g_direct_equal()
g_int_equal()
g_int64_equal()
g_double_equal()
g_str_equal()
我可以使用哪种类型来获得一个long和一个值的键,该值是我定义的结构的指针?
答案 0 :(得分:0)
总结评论:
假设您构建的系统中指针的位数至少与long一样多(大多数系统都是如此),是的,您可以将其转换为.background-red{
background-color: rgb(153, 50, 50);
}
.background-green{
background-color: rgb(29, 102, 29);
}
并使用gconstpointer
。你确实以这种方式将这个事实依赖于你的代码。
否则:不要使用g_direct_*
,而应使用long
或gint
作为您的值,并将指针传递给gint64
或g_int_*
。在可移植代码中使用g_int64_*
(每个系统的实际大小可能不同)无论如何都不方便。
long
使用指针本身而不是它们指向的值。