函数
自:2.28
声明 [源]
void
g_list_free_full (
GList* list,
GDestroyNotify free_func
)
描述 [源]
是一个便捷方法,用于释放一个 GList
所使用的所有内存,并为每个元素的 data 调用 free_func
。
free_func
不应修改列表(例如,通过从未释放的元素中删除它)。
可以与 g_steal_pointer()
一起使用以确保列表头指针不会留下悬挂——这也具有一个非常不错的特性,即在释放列表元素之前清除头指针,以防止 free_func
发生双重释放。
GList *list_of_owned_things = …; /<!-- -->* (transfer full) (element-type GObject) *<!-- -->/
g_list_free_full (g_steal_pointer (&list_of_owned_things), g_object_unref);
自:2.28
此函数对语言绑定不可直接使用。
参数
list
-
类型:
gpointer
的列表GList
的第一个链接。数据由函数调用者拥有。 free_func
-
类型:
GDestroyNotify
用于释放每个元素数据的函数。