dynamic_casting について少し調べたところ、起動時に RAM にも読み込まれる RTTI と呼ばれるものが作成されることがわかりました。一部のプラットフォームでは、これもサポートされていないと思います。それで、それを避けるための良い解決策があるかどうか疑問に思っていました。
Statement クラスがあるとしましょう
class Statement
{
std::list<Operand*> operands;
};
オペランドは、メモリアドレス、レジスタなどのサブクラスを持つクラスです。(不思議なことに、私はアセンブラを作ろうとしています.:P
dynamic_cast を使用してダウンキャストすることはできません。これもできれば問題です。しかし、それが Type であることを定義する列挙を Operand に追加するとどうなるでしょうか。
これを const にして、すべてのサブクラスのコンストラクターで定義できますか?
みなさんがどう思うか楽しみです。
キリスト教徒