0
我想知道当我删除QVector的项目时会发生什么?QVector的项目在其他地方被删除时会发生什么?
- 它会自动从 QVector中删除吗?
- 我必须手动将其删除吗?
另外,我怎样才能找出迭代器的迭代索引?
问候
我想知道当我删除QVector的项目时会发生什么?QVector的项目在其他地方被删除时会发生什么?
另外,我怎样才能找出迭代器的迭代索引?
问候
如果你有一个QVector<Thing*>
和存储在其中的Thing
S的delete
之一,它会不会被自动从载体中删除。你需要自己做。
据我所知,从我在文档中读到的内容来看,QVector
迭代器都没有一个方法来告诉它定位在哪个索引处。
但是,如果你有载体本身(或至少它的begin()
迭代器)的引用,你可以使用:
int position = iter - v.begin();
所以我必须通过与元素的循环或相似的循环。谢谢您的回答。 – Gerstmann 2011-05-21 10:44:50
这是做到这一点的一种方式。取决于你真正的想法。 – Mat 2011-05-21 10:46:10
如果你有一个STL迭代器iter,你可以使用iter-v.begin()来计算iter指向的元素的索引。 – 2011-05-21 11:37:46