snk
@snk

Какой stl контейнер лучше всего подходит для данной задачи?

Здравствуйте. Задача предельно простая: есть некий буфер изображений (opencv Mat, CV_8UC3, 1920x1080). Необходимо в режиме реального времени добавлять элемент с одной стороны, далее брать элемент с другой стороны, использовать его а затем удалять его из буфера. Длина буфера может меняться в процессе выполнения (но не часто).
Сейчас использую std::list. push_front для добавления в начало, back для получения последнего элемента, pop_back - чтобы его удалить из списка. Насколько мой выбор эффективен, есть ли контейнер, который лучше подходит для данной задачи?
  • Вопрос задан
  • 261 просмотр
Пригласить эксперта
Ответы на вопрос 2
@dmitryKovalskiy
программист средней руки
У вас описание классической очереди. Попробуйте queue
Ответ написан
Комментировать
@MiiNiPaa
Так как объекты большие, оверхед списка будет незаметен. Ваше решение достаточно эффективно. Можете, как Дмитрий Ковальский предлагает, использовать адаптер queue (возможно со списком в качестве контейнера если хочется)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы