我目前正在开发Symbian平台上的Qt应用程序。 Application有一个sqlite数据库,初始数据是从txt文件中填充的。
我正在使用json格式的数据实现在线更新。所以我想在我的db update类中创建泛型函数,它从类{/ 1}中获取类{/ 1}}和更新的db。 QList
将填充来自txt或json的对象。
我已经有了解析,只考虑在性能方面会更好:
QList
QList
的自定义类,并将其作为QObject
中的指针传递,然后使用QList
删除所有内容答案 0 :(得分:2)
这取决于你的班级是携带行为还是只是状态。
他们带有行为。
然后,多态类是有序的,是的。是否需要继承QObject
是另一个问题。如果您需要其服务(内省,信号/插槽,事件处理),则仅从QObject
继承。否则,不要。
关于qDeleteAll()
:我不会去那里。而不是裸指针,使用智能指针,例如QSharedPointer
。它们跟踪对其有效负载的引用数量,并在refcount降至零时删除它。
在这种情况下,请不要使用QList
,而应使用更有效的容器,例如QVector
。
他们只携带状态。
然后,“哑”struct
就足够了。在这种情况下,请不要将QList
用作容器,而应使用更高效的内容,例如QVector
(不要忘记充分利用reserve()
方法)。
一般情况下,请尝试避免QList<T>
类型为T
的{{1}}和非构建/非Qt类型,因为QList
performance is degraded for these。