函数
GLibPtrArraynew_from_array
自:2.76
声明 [源]
GPtrArray*
g_ptr_array_new_from_array (
gpointer* data,
gsize len,
GCopyFunc copy_func,
gpointer copy_func_user_data,
GDestroyNotify element_free_func
)
描述 [源]
创建一个新的 GPtrArray,从 data 复制 len 个指针,并将数组的引用计数设置为 1。
这避免了需要手动逐个添加每个元素。
如果提供了 copy_func,则在将元素添加到新数组之前使用它来复制每个元素。如果它是 NULL,则直接复制指针。
它还为在销毁数组时释放每个元素设置了 element_free_func,无论是通过 g_ptr_array_unref()、在调用 g_ptr_array_free() 时将 free_segment 设置为 TRUE 或在删除元素时。
如果 len 大于 G_MAXUINT,则不要使用它。 GPtrArray 将其数据的长度存储在 #guint 中,这可能比
gsize.
自:2.76
此函数对语言绑定不可直接访问。
参数
data-
类型: 一个指向
gpointer的数组一个指针数组,或为空数组使用
NULL。参数可以是 NULL。数组长度在 len参数中指定。数据所有权属于函数的调用者。 len-
类型:
gsizedata中的指针数量。 copy_func-
类型:
GCopyFunc一个用于复制数组中每个元素或
NULL的复制函数。 copy_func_user_data-
类型:
gpointer传递给
copy_func的用户数据,或NULL。参数可以是 NULL。数据所有权属于函数的调用者。 element_free_func-
类型:
GDestroyNotify一个函数,在
array销毁时释放元素,或NULL。