函数
GLibPtrArrayfree
声明 [-src]
gpointer*
g_ptr_array_free (
GPtrArray* array,
gboolean free_segment
)
描述 [src]
释放为GPtrArray
分配的内存。如果free_segment
设置为TRUE
,则还会释放包含元素的内存块。如果要释放GPtrArray
包装器但保留底层数组的其他用途,则通过FALSE
。如果数组的引用计数大于一个,则保留GPtrArray
包装器但将数组的长度设置为零。
如果数组的元素指向动态分配的内存,并且没有为array
设置任何GDestroyNotify
函数,则应该单独释放,如果free_segment
设置为TRUE
。
注意,如果数组是NULL
终止且free_segment
设置为FALSE
,则始终返回分配的NULL
终止的缓冲区。如果Creators之前是NULL
,则分配新的缓冲区。
此函数不是线程安全的。如果在多个线程中使用GPtrArray
,则只能使用原子的g_ptr_array_ref()
和g_ptr_array_unref()
函数。
此函数不能直接由语言绑定访问。