构造函数
GObjectObjectnew
声明 [源]
GObject*
g_object_new (
GType object_type,
const gchar* first_property_name,
...
)
描述 [源]
创建一个新实例的 GObject 子类型,并设置其属性。
构造参数(见 G_PARAM_CONSTRUCT,G_PARAM_CONSTRUCT_ONLY),没有明确指定时会被设置为它们的默认值。对象的任何私有数据都将按照
请注意,在C中,变量参数表中的小型整数类型会被提升到 gint 或 guint,并按照相应的方式读取。在GLib当前支持的所有平台上,gint 是 32 位。这意味着您可以使用类型为 gint 的 C 表达式和类型为 gint 或 guint 或更小的属性。具体来说,您可以使用整数文字与这些属性类型一起使用。
当使用类型为 gint64 或 guint64 的属性类型时,您必须确保提供的值是 64 位。这意味着您应该使用转换或利用 G_GINT64_CONSTANT 或 G_GUINT64_CONSTANT 宏。
同样,gfloat 被提升为 gdouble,因此您必须确保提供的值是 gdouble,即使属性类型为 gfloat。
自GLib 2.72以来,确保所有 GObjects 都至少与最大的基本 GLib 类型(通常是 guint64 或 gdouble)的对齐。如果您需要为 GObject 中的元素分配更大的对齐,您应该(对齐)在堆上分配它,或者安排为您的 GObject 设置适当的填充。
此构造函数不直接对语言绑定可用。
参数
object_type-
类型:
GType要实例化的
GObject子类型的类型 ID。 first_property_name-
类型:
const gchar*第一个属性的名字。
数据由函数的调用者拥有。 值是一个以 NUL 结尾的 UTF-8 字符串。 ...-
类型:
第一个属性的值,后面可以跟更多 name/value 对,最后跟
NULL。
返回值
类型: GObject
object_type 的新实例。
| 函数的调用者获得数据的所有权,并负责释放它。 |