方法
GLibVariantBuilderinit
since: 2.24
声明 [src]
void
g_variant_builder_init (
GVariantBuilder* builder,
const GVariantType* type
)
描述 [src]
初始化一个 GVariantBuilder 结构体。
type 不能为 NULL。它指定要构造的容器类型。它可以是不定类型,如 G_VARIANT_TYPE_ARRAY,也可以是确定类型,如 “as” 或 “(ii)”。可能可以构造数组、元组、字典条目和变体类型值。
如果使用静态类型,如 G_VARIANT_TYPE_* 常量之一或 G_VARIANT_TYPE ("(ii)") 宏,则使用 g_variant_builder_init_static() 而不是 g_variant_builder_init() 更高效。
在初始化构建器后,使用 g_variant_builder_add_value() 或 g_variant_builder_add() 添加值。
在添加所有子值之后,g_variant_builder_end() 释放与构建器相关联的内存并返回创建的 GVariant。
此函数完全忽略 builder 的先前内容。一方面,这意味着可以传递完全未初始化的内存。另一方面,这也意味着如果您在现有的 GVariantBuilder 上初始化,您需要先调用 g_variant_builder_clear() 以防止内存泄露。
您不得在用此函数初始化的 GVariantBuilder 上调用 g_variant_builder_ref() 或 g_variant_builder_unref()。如果您在自己的代码控制之外传递了 GVariantBuilder 的引用,则应该假设接收该引用的人可能会尝试使用引用计数;您应该使用 g_variant_builder_new() 而不是此函数。
Available since: 2.24
此方法不直接对语言绑定可用。
参数
type-
类型:
GVariantType容器类型。
数据由方法的调用者拥有。