函数
GLibArraynew_take_zero_terminated
自:2.76
[−]
声明 [src]
GArray*
g_array_new_take_zero_terminated (
gpointer data,
gboolean clear,
gsize element_size
)
[−]
描述 [src]
创建一个新的GArray
,将其data
作为数组数据,计算其长度并设置引用计数为1。
这避免了需要手动复制数据,在这种情况下,可以继承它。在这个调用之后,data
属于GArray
,可能不再由调用者修改。data
的内存必须动态分配,最终将使用g_free()来释放。
长度通过迭代data
,直到找到第一个NULL
元素来计算。
如果需要在数组合并释放时清除元素,请使用g_array_set_clear_func()
来设置一个GDestroyNotify
函数来执行此任务。
如果data
的长度或element_size
大于G_MAXUINT
,则不要使用它。GArray
将其数据的长度存储在高位guint
中,可能比#gsize短。
自:2.76
此函数对语言绑定不可直接使用。
[−]
参数
data
-
类型: 一个
gpointer
数组包含具有
element_size
的元素的数组。该数组必须是 NULL
终止的。 clear
-
类型:
gboolean
TRUE
如果当分配时,GArray
的每个元素应该自动清除为0。 element_size
-
类型:
gsize
每个元素的字节大小。