我是一个油嘴滑舌的新手,我仍然在努力理解my_class_name_class_init()方法和方法之间的区别my_class_name_init()。
我知道后者有点相当于 C++ 构造函数,并且针对创建的对象的每个实例进行操作,但我不太明白这些my_class_name_class_init()方法的目的。通过阅读文档,我认为class_init()方法有点类似于对所有实例有效的静态构造函数,但我仍然不确定我是否正确。
方法的目的是什么class_init()?
class_init每个类的函数在构造第一个实例之前执行一次- 这样它们类似于C# 静态构造函数。相反,instance_init函数会为创建的每个对象实例调用,并负责初始化该实例。
与静态构造函数一样,class_init它们负责初始化所有实例可能需要的任何共享数据,但更重要的是,在 GObject 中,它们在设置 GObject 对象系统中发挥着至关重要的作用。他们负责: