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