2011-12-30 8 views

答えて

1

ptrFoobaseがnullの場合は動作しません。

+0

これは明らかです – piotr

3

あなたはそれをしてはいけないという厳しい普遍的な理由はありませんが、それは一見醜いと読みにくいです。

例外をスローすることが適切であると判断した場合は、おそらく他のデザインの選択肢に戻ってください。なぜポインタが必要なのですか?あなたが参照を貼り付けるなら、問題はありません:Foo & foo = dynamic_cast<Foo&>(fooBaseRef);

個人的には、C++で裸のポインタがあれば、何らかのレガシーな考え方になっているので、おそらくヌルチェックを追加して手動で投げてください。一方、慣用的で現代的なC++を使いたい場合は、参考までにすべてを参考にして、例外を無料で取得します。

関連する問題