Container, der eine Mischung aus Basis- und abgeleiteten Objekten speichert?

Was ist das Richtige zu tun? Ich weiß, dass, wenn der Container vom Typ Basisklasse-Wert ist, das gespeicherte abgeleitete Objekt aufgeschnitten wird. Wenn der Container vom Typ einer abgeleiteten Klasse ist, kann das Basisklassenobjekt nicht gespeichert werden. Recht?

Wenn es um Zeiger geht, kann auto_ptr nicht verwendet werden, da es ein kopiersemantisches Problem gibt. Ist shared_ptr die einzige Lösung für dieses Problem?

Kann jemand weitere Details, Beispielcodes oder Online-Artikel zur Behebung dieses Problems bereitstellen? Es sollte eine häufige Frage sein, aber ich habe nicht viele Informationen darüber im Lehrbuch oder online gefunden.

Danke im Voraus.

Übrigens suche ich nur auf unique_ptr. Es scheint keine Kopiersemantik zu unterstützen. Ist es also nicht nur sicherer als auto_ptr, in AWL verwendet zu werden? Vielleicht können viele AWL-Operationen oder -Algorithmen nicht für den Container unique_ptr verwendet werden, weil die Semantik nicht kopiert werden kann.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage