【发布时间】:2014-11-09 07:09:22
【问题描述】:
如果我创建一个隐式共享的 Qt 类(例如 QList)的子类,我的子类也会被隐式共享吗?
我阅读了 QtCore5.3 文档中的brief introduction to implicit sharing,但没有看到任何提及可遗传性的内容。
我问的目的是在决定传递哪些参数以及如何传递它们时尝试编写更有效的代码。
【问题讨论】:
-
请注意 QList 没有虚拟析构函数,因此不应用作(公共)基类。如果这样做很容易遇到UB问题。
-
在这种情况下,最好使用聚合而不是相互继承。
标签: c++ qt copy-on-write qshareddata