多くの質問が寄せられていることは知っています。ググったのですが、すべてをまとめることができませんでした。できないからかな、何がしたいの?
私は持っている
struct Universe
{
}
と
struct Atom: Universe
{
}
struct Molecule: Universe
{
}
Universe U;
Atom A;
Molecule M;
_atoms = vector<Universe*>(3);
_atoms.push_back(&U);
_atoms.push_back(dynamic_cast<Universe*>(&A));
_atoms.push_back(dynamic_cast<Universe*>(&M));
auto THIS_IS_ATOM = _atoms[1];
このコードは、多くの点で間違っている可能性があります。しかし、私の考えは、このようなさまざまな派生構造体を格納し、後でデータ損失やクラスの切り捨てを行うことなく、配列またはリストからそれらにアクセスすることでした。_atoms[1] のような配列からいくつかの要素を取得し、この構造体がどのタイプ (Universe または Atom) であるかなどを知ることができるようにしたかったのです。
C++で適切に行うにはどうすればよいですか?