Я создаю программу на С ++, и мне нужно хранить неопределенное (т. Е. Динамическое) количество изображений в классе.У меня также есть неопределенное количество спрайтов, которые могут отображать эти изображения.Прямо сейчас у меня есть что-то вроде этого:
class Hud {
std::vector<Image> images;
std::vector<Sprite> sprites;
}
Чтобы избежать дублирования изображений (тем самым занимая слишком много памяти), я повторно использую их, помещая указатель на изображение в объекте Sprite.
Очевидно, что когда изображение добавляется в std :: vector, эти указатели перестают быть полезными.Возможно, что-то не так с моим подходом, но я не уверен, как это исправить.Рендеринг выполняется в OpenGL.Любые предложения будут полезны.
Как я могу хранить динамический массив изображений, к которым могут обращаться мои спрайтовые объекты, и это позволит мне избежать дублирования изображений в памяти (что может быть крайне затруднительно для эффектов частиц)?Альтернативные методы приветствуются, но я не могу позволить себе потратить больше одного дня или двух на переписывание моего кода.
Спасибо.