У меня есть заявка deque std::shared_ptr
, заявлено, что она имеет базовый класс (назовем его Polygon), но я сохраняю указатели на производные объекты (например, Triangle). Сейчас я думаю об изменении структуры данных на std::vector
, чтобы использовать тот факт, что вектор обеспечивает смежную память, но у меня есть пара вопросов:
1) Возможно ли это, даже если объекты имеют разные размеры? Или может случиться так, что из-за того, что производные объекты больше базового, они будут перекрываться в памяти?
2) Хранение std::shared_ptr
Я не собираюсь хранить их буквально вместе в памяти, только указатели, это правда? Или я не прав?
Спасибо