函数
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
-
类型:
gsize
data
中的指针数量。 copy_func
-
类型:
GCopyFunc
一个用于复制数组中每个元素或
NULL
的复制函数。 copy_func_user_data
-
类型:
gpointer
传递给
copy_func
的用户数据,或NULL
。参数可以是 NULL
。数据所有权属于函数的调用者。 element_free_func
-
类型:
GDestroyNotify
一个函数,在
array
销毁时释放元素,或NULL
。