我必须将自己的类型添加到Qt MetaObject System(注册元类型)。由于手册,必须满足以下要求:
我的类对默认构造函数没有意义;它的创建只是为了满足QT MOS。但是:Qt如何,何时以及为何调用默认ctor?如果我的类存储指向动态创建的元素的指针会发生什么:MOS会创建这样的类的副本,然后,它会删除它并释放所有指针吗?
答案 0 :(得分:0)
将MOS创建此类的副本,然后,它将删除它并释放所有指针?
是的,在宣布活动时,会先复制它们。这样做是为了简化从一个线程到另一个线程的事件发送。
如果我的类存储指向动态创建元素的指针会发生什么:MOS会创建这样的类的副本,然后,它会删除它并释放所有指针吗?
这就是自定义拷贝构造函数的用途。这是你的任务,以确保一切都被妥善复制,并且不存在内存泄漏(或其他问题)。
最后,我找到了谈话的地方。它位于this link:
可选的type参数描述了要建立的连接类型。特别是,它确定特定信号是立即传送到插槽还是排队等待稍后传送。 如果信号排队,参数必须是Qt的元对象系统已知的类型,因为Qt需要复制参数以在幕后的事件中存储它们。如果您尝试使用排队连接并获取错误消息