c - Ghashtable 存储双

标签 c double glib

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

最佳答案

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

就对值使用 double 而言……你不能。问题是你不能保证 sizeof (void *) >= sizeof (double),所以你不能使用像 GINT_TO_POINTER() 这样的技巧

关于c - Ghashtable 存储双,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6682731/

相关文章:

c - 如何找到 BST 中小于或等于给定值的节点数? (AVL 树)

java - 在 Java 中使用舍入

c - g_string_truncate () 上的段错误?

c - 如何解析 glib 字符串 (gchar *) 中的整数?

c - 如何创建不区分大小写的 Glib 哈希表?

c - 未定义的对 log10 函数的引用

java - 致命信号 11 (SIGSEGV) 位于 0x00000010(代码=1)

c - sscanf 读取它不应该读取的内容

Javafx double 变量,具有两位小数

c# - MySQL(或 C#)不匹配 double 或小数