Ghashtable存储双

时间:2011-07-13 17:04:34

标签: c double glib

您好我想知道是否可以将双重存储到ghashtable中,因为没有gdouble_to_pointer方法。我正在按照IBM http://www.ibm.com/developerworks/linux/tutorials/l-glib/section5.html在线发现的教程,但我似乎无法找到一种方法来使用int作为键,使用double作为存储的值。任何帮助都会非常感谢!

1 个答案:

答案 0 :(得分:2)

如果要使用int作为键,则在创建GHashTable时应使用g_int_hash()和g_int_equal()。

至于使用双倍数值......你不能。问题是你不能保证sizeof(void *)> = sizeof(double),所以你不能使用像GINT_TO_POINTER()这样的技巧