rtti

    22

    6答えて

    ダイナミックキャスティングを避けるべきであることがよく聞かれます。私はあなたによると、それが「良い使用」の例になるのだろうかと思っていましたか? 編集: はい、私はthat other threadの承知している:私は私の質問をしていることが最初の答えの1を読み込むとき、それは確かです!

    0

    2答えて

    C++では問題が簡単です。 私は実装の一部としてもう一方を含む2つのクラスを持っています。 struct A { void do_something() { }; }; struct B { A obj_A; void hello_world() { }; }; 今問題は、私ははsizeof(B)とタイプBのAの

    6

    2答えて

    DelphiではRTTI(または他のもの)を使用して、クラスが抽象として宣言されているかどうかを調べることは可能ですか? のような何か: TMyAbstractClass = class abstract(TObject) // ... end; ... if IsAbstract(TMyAbstractClass.ClassInfo) then ShowMessag

    4

    5答えて

    私はVisual Studioを使用しており、有効な動的キャストを行っています。 RTTIが有効になります。 編集:より現実的なように、コードを更新しました struct base { virtual base* Clone() { base* ptr = new base; CopyValuesTo(ptr); return ptr;

    8

    2答えて

    私は組み込みOSの例外処理を実装しようとしていますが、適切なハンドラを選択するためにスローされた "例外"の型を検出する方法には悩まされています。 例外処理の保存と復元のコンテキスト部分は既に実行されていますが、スローされた '例外'の型を検出できないため、特定のハンドルを持つことはできません。 C++の標準的なRTTIの実装は他のライブラリにも依存しており、そのため私は現在それを利用できないと考

    6

    4答えて

    まず、私の英語の謝罪、私はここで書いたことが意味を成就することを願っています。今私の問題に。 TypInfo.GetEnumName()を使用して、バリアント型の文字列表現を取得するにはどうすればよいですか。私は運がなければ、次のように試してみました。 myString := GetEnumName(TypeInfo(TVarType), TVarData(myVar).VType); ありが