[英]Using QVector and implement a subset of QVector in good practice
大家好,早上好,我有两个关于 QVector 及其用法的问题。 我有一个自己的自定义类。 有必要使用QVector<QSharedPointer<Class*>>
或者直接将实例添加到QVector
就足够了,比如QVector<Class*>>
。 我读到QVector
已经在内部使用了一个与 std 向量相反的共享指针。 直接附加实例指针是不好的做法吗?
接下来,我想要一个带有选定元素的QVector
子集。 使用 QVector> 做到这一点的好做法是什么?
__________
|QVector |
| _______|
| |QVector|
|__|_______|
也许使用QVector
直接添加实例并不是一个好主意。 更好的解决方案是使用QList
容器。
它不直接存储对象,而是存储指向它们的指针。 您可以获得两端快速插入的所有好处,重新分配涉及改组指针而不是复制构造函数,但失去了实际 or 的空间局部性,并获得了大量堆分配。
QList<QList<Class>> testlist
,不要忘记覆盖operator =
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.