Что происходит с элементом QVector, когда он удаляется в другом месте? - PullRequest
0 голосов
/ 21 мая 2011

Мне интересно, что происходит, когда я удаляю элемент QVector?

  1. Он автоматически удаляется из QVector?
  2. Нужно ли удалять его вручную?

Кроме того, как я могу узнать индекс итерации итератора?

С уважением

1 Ответ

3 голосов
/ 21 мая 2011

Если у вас есть QVector<Thing*> и delete один из Thing, которые хранятся в нем, он не будет автоматически удален из вектора.Вы должны сделать это сами.

Насколько я знаю, и из того, что я прочитал в документах, ни один из итераторов QVector не имеет метода, позволяющего определить, по какому индексу он расположен.

Но если у вас есть ссылка на сам вектор (или хотя бы на его итератор begin()), вы можете использовать:

int position = iter - v.begin();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...