摘要: GHashTable的key和value都是gpointer,也就是说,如果想用一个string来做key的话,key的类型就只能是char *,即便如此,用string做key也是不行的。因为key是指针,我们没法保证两个char *的值是一样的。就算我们重载了GHashTable key的compare函数,也无法达到这一目的。所以,可以考虑使用data list来代替。GLib中的data list,key只能是string或者GQuark,value就是gpointer。使用data list,两个key的指针可以不同,因为在设置key的时候,data list会将字符串复制到它内部的 阅读全文
posted @ 2010-12-20 16:48 super119 阅读(417) 评论(0) 推荐(0)