函数
since: 2.76
声明 [src]
GPtrArray*
g_ptr_array_new_from_null_terminated_array (
gpointer* data,
GCopyFunc copy_func,
gpointer copy_func_user_data,
GDestroyNotify element_free_func
)
描述 [src]
创建一个新的 GPtrArray
,复制 data
中的指针(在计算其长度后具有引用计数为 1)。这避免了需要逐个手动添加每个元素。如果提供了 copy_func
,则用于复制新数组中的数据。它还设置 element_free_func
,当通过 g_ptr_array_unref()
销毁数组、调用 g_ptr_array_free()
时 free_segment
设置为 TRUE
或删除元素时,用于释放每个元素。
如果 data
中有超过 G_MAXUINT
个元素,则不要使用它。 GPtrArray
在 #guint 中存储其数据的长度,这可能比
since: 2.76
此函数不适合语言绑定直接使用。
参数
data
-
类型:一个指针的数组
gpointer
一个指针数组,以
NULL
结尾;或NULL
表示空数组。参数可以是 NULL
。该数组必须是 NULL
结尾的。数据由函数的调用者拥有。 copy_func
-
类型:
GCopyFunc
用于复制数组中每个元素的复制函数或
NULL
。 copy_func_user_data
-
类型:
gpointer
将用户数据传递给
copy_func
,或NULL
。参数可以是 NULL
。数据由函数的调用者拥有。 element_free_func
-
类型:
GDestroyNotify
一个在
array
销毁时释放元素或者NULL
的函数。