函数
GLibPtrArraynew_take
since: 2.76
声明 [src]
GPtrArray*
g_ptr_array_new_take (
gpointer* data,
gsize len,
GDestroyNotify element_free_func
)
描述 [src]
创建一个带有指向 data
、长度 len
和引用计数为 1 的新 GPtrArray
。
这避免了手动复制此类数据。此调用后,data
属于 GPtrArray
,不能由调用者修改。该内存需要动态分配,并最终将使用 g_free()
释放。
它还设置在通过 g_ptr_array_unref()、当调用 g_ptr_array_free()`
且设置了 free_segment
为 TRUE
或移除元素时销毁数组时的 element_free_func
。
如果 len
大于 Z_MAXUINT
,请勿使用它。GPtrArray
在 #guint 中存储其数据长度,这可能短于
gsize.
可用自:2.76
此函数不直接对语言绑定可用。
参数
data
-
类型: 一个
gpointer
数组指针数组或空数组的
NULL
。此参数可以是 NULL
。数组的长度在 len
参数中指定。调用函数负责获取数据的所有权,并负责释放它。 len
-
类型:
gsize
data
中指针的数量。 element_free_func
-
类型:
GDestroyNotify
在销毁
array
时释放元素的函数或NULL
。