0

RTTI が有効になっていると仮定すると、実行時に typeid(this).name() を使用して現在のクラス名を取得できます。

「this」の基本クラスの名前を取得できるようにしたいと思います。それは可能ですか?違いが生じる場合に備えて、多重継承は使用していません。

4

4 に答える 4

2

さらに、クラス名を付けることを期待できるとは思いませんtypeid(this).name()(私の知る限り、返される正確な値は実装定義です)。

于 2010-12-02T22:25:37.857 に答える
1

情報は確実にどこにも保存されていないため、確実に取得することはできません。C++ の哲学は、明示的に要求しない限り情報を提供しないためです。

于 2010-12-02T22:26:09.173 に答える
1

いいえ。ごめん。この方法でクラス名を取得する方法は、実装に依存します。私の実装では、マングルされた名前を取得します。

于 2010-12-02T22:24:07.883 に答える
0

いいえ、そうではありません。この機能が必要な理由は疑わしいです:)

于 2010-12-02T22:25:16.643 に答える