QVector项目在其他地方被删除后会发生什么?

时间:2011-05-21 10:25:51

标签: qt pointers vector

我想知道当我删除QVector的项目时会发生什么?

  1. 是否自动从中移除 QVector?
  2. 我是否必须手动删除它?
  3. 另外,如何找出迭代器迭代的索引?

    祝你好运

1 个答案:

答案 0 :(得分:3)

如果您有QVector<Thing*>delete个存储在其中的Thing,则不会从矢量中自动删除。你需要自己做。

据我所知,从我在文档中读到的内容来看,QVector迭代器都没有一种方法来判断它所处的索引。

但是如果你有一个对向量本身的引用(或者至少是它的begin()迭代器),你可以使用:

int position = iter - v.begin();