功能
GLibPtrArraynew_take_null_terminated
自从:2.76
声明 [源]
GPtrArray*
g_ptr_array_new_take_null_terminated (
gpointer* data,
GDestroyNotify element_free_func
)
描述 [源]
创建一个新的 GPtrArray,其中 data 为指针,计算其长度并设置引用计数为 1。
这避免了需要手动复制此类数据。在此调用之后,data 属于 GPtrArray,并且不能再由调用者修改。该内存由调用者动态分配,最终将由 g_free() 释放。
长度通过迭代 data 直到找到第一个 NULL 元素来计算。
它还设置当数组通过 g_ptr_array_unref() 销毁或者当 g_ptr_array_free() 调用且 free_segment 设置为 TRUE 或移除元素时,用于释放每个元素的 element_free_func。
如果 data 的长度大于 G_MAXUINT,则不要使用它。GPtrArray 在 #guint 中存储其数据的长度,这可能比 gsize 更短。
自从:2.76
此功能对语言绑定不可直接访问。
参数
data-
类型: 一个指向
gpointer的数组指向器的数组,以
NULL终端,或空NULL数组。参数可以是 NULL。该数组必须是 NULL-终止的。调用方功能拥有数据的所有权,并负责释放它。 element_free_func-
类型:
GDestroyNotify在
array销毁时用于释放元素的函数或NULL。