当 QVector 的项目在其他地方删除时会发生什么?

发布于 2024-11-08 20:00:09 字数 127 浏览 0 评论 0原文

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

  1. 是否自动从列表中删除 Q向量?
  2. 我必须手动删除它吗?

另外,如何找出迭代器迭代的索引?

此致

I'm wondering about what happens when I delete a QVector's item?

  1. Is it automatically removed from the
    QVector?
  2. Do I have to remove it manually?

Also, how can I find out the index of an iteration of the iterator?

Best regards

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

可遇━不可求 2024-11-15 20:00:09

如果您有一个 QVector删除其中存储的 Thing 之一,则不会< /em> 会自动从向量中删除。你需要自己做。

据我所知,从我在文档中读到的内容来看,没有一个 QVector 迭代器有方法来告诉它位于哪个索引处。

但是如果您有对向量本身的引用(或至少对其 begin() 迭代器)的引用,则可以使用:

int position = iter - v.begin();

If you have a QVector<Thing*> and delete one of the Things that stored in it, it will not be removed automatically from the vector. You need to do that yourself.

As far as I know, and from what I read in the docs, none of the QVector iterators has a method to tell at what index it is positioned.

But if you have a reference to the vector itself (or at least to it's begin() iterator), you can use:

int position = iter - v.begin();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文