Да, это называется обмен.
Один из вариантов: два указателя в вашем классе. Один для текущего кадра, другой для предыдущего.
Когда вы закончите обработку текущего кадра, просто поменяйте местами указатели и снова начните работать со следующим кадром (который затем может переопределить текущий кадр).
Другой вариант - использовать два std::vector
, которые предоставляют метод swap
, что означает отсутствие копирования.
Другие контейнеры, такие как std::list
или std::dequeu
, также предоставляют метод swap
.
Дополнительную информацию можно найти при поиске двойной буферизации, которая представляет собой метод отображения контента без мерцания.