Kontener, który przechowuje mieszankę obiektów bazowych i pochodnych?

Co należy zrobić? Wiem, że jeśli kontener ma typ wartości klasy bazowej, to przechowywany obiekt pochodny jest „pocięty”. Jeśli kontener jest typu pochodnego, nie można zapisać obiektu klasy bazowej. Dobrze?

Jeśli chodzi o wskaźniki, nie można użyć auto_ptr, ponieważ ma problem semantyczny z kopiowaniem. Czy shared_ptr jest jedynym rozwiązaniem do rozwiązania tego problemu?

Czy ktoś może podać więcej szczegółów, przykładowy kod lub artykuły online, które rozwiązują ten problem? To powinno być dość powszechne pytanie, jednak nie znalazłem wiele informacji na ten temat w podręczniku lub w Internecie.

Z góry dziękuję.

btw, po prostu szukam na unique_ptr. Wydaje się, że nie obsługuje on semantyki kopiowania. Czy nie jest więc bezpieczne tylko używanie auto_ptr w STL, ale może z powodu braku kopiowania semantyki, wiele operacji lub algorytmów STL nie może być używanych w kontenerze unique_ptr?

questionAnswers(4)

yourAnswerToTheQuestion