函数

GLibPtrArraycopy

since: 2.62

声明 [src]

GPtrArray*
g_ptr_array_copy (
  GPtrArray* array,
  GCopyFunc func,
  gpointer user_data
)

描述 [src]

创建一个完整的(深层)复制 GPtrArray

func,作为一个 GCopyFunc,接受两个参数,待复制的数据和一个 user_data 指针。在常见的处理器架构上,如果复制函数只接受一个参数,那么可以将 user_data 作为 NULL 传递是安全的。但是,如果使用 GCC-Wcast-function-type 警告进行编译,可能会收到编译器警告。

如果 funcNULL,则只将指针(而不是它们指向的内容)复制到新的 GPtrArray

复制的 array 将与其元素相同的 GDestroyNotify,如果(且仅如果)源数组是的话,它也将是 NULL 终止的。

Available since: 2.62

此函数不直接对语言绑定可用。

参数

array

类型: 一个 gpointer 数组

要复制的 GPtrArray

数据由函数的调用者所有。
func

类型: GCopyFunc

用于复制数组中每个元素的复制函数。

user_data

类型: gpointer

传递给复制函数 func 的用户数据,或 NULL

此参数可以为 NULL
数据由函数的调用者所有。

返回值

类型: 一个 gpointer 数组

初始 GPtrArray 的深层复制。

函数的调用者拥有对数据的使用权,并负责释放它。