Контейнер, который хранит смесь базовых и производных объектов?

Как правильно поступить? Я знаю, что если контейнер имеет тип значения базового класса, то сохраненный производный объект является «нарезанным». Если контейнер имеет тип производного класса, то объект базового класса не может быть сохранен. Правильно?

Если использовать указатели, auto_ptr не может быть использован, потому что он имеет семантическую проблему копирования. Является ли shared_ptr единственным решением для решения этой проблемы?

Может ли кто-нибудь предоставить более подробную информацию, образец кода или статьи в Интернете, посвященные этой проблеме? Это должен быть довольно распространенный вопрос, однако я не нашел много информации об этом в учебнике или в Интернете.

Заранее спасибо.

Кстати, я просто ищу на unique_ptr. Кажется, он не поддерживает семантику копирования. Так что это не только безопасно, чем auto_ptr для использования в STL, но, возможно, из-за отсутствия семантики копирования, многие операции или алгоритм STL не могут быть использованы в контейнере unique_ptr?

Ответы на вопрос(4)

Ваш ответ на вопрос