Как удалить элемент из QQueue по индексу i - PullRequest
0 голосов
/ 08 июля 2010

Как удалить элемент из QQueue по индексу i.

Ответы [ 3 ]

4 голосов
/ 08 июля 2010

Поскольку QQueue основан и будет работать как std :: queue, представляющий собой FIFO (контейнер «первым пришел - первым обслужен»), возможно, вам придется пересмотреть использование QQueue.

Чтобы удалить головной элемент, используйте

QQueue::dequeue()

Чтобы удалить элемент с индексом i (используя унаследованные функции QList)

QQueue::removeAt( int i )

Если вам нужно сделать это, переосмыслите ваше использование QQueue, пожалуйста.

(см. Документацию Qt)

0 голосов
/ 08 июля 2010

QQueue наследует QList<T>, поэтому вы можете использовать void QList::removeAt(index) унаследованный метод.

0 голосов
/ 08 июля 2010

Документация Qt для,

T QQueue::dequeue ()

гласит, что, Удаляет элемент заголовка в очереди и возвращает его.Эта функция предполагает, что очередь не пуста.

Надеюсь, это поможет.

Редактировать:

Если вы хотите удалить элемент из определенного индекса, используйтеQList вместо.

Существуют такие функции, как

void QList::removeAt ( int i )

и

T QList::takeAt ( int i )

, которые вы можете использовать в зависимости от ваших потребностей ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...