多形体へのポインタBase* base_ptr
があります。それはオブジェクトの動的なタイプのサイズを見つけることは可能ですか?多型オブジェクトのサイズを調べる
AFAIK、sizeof(*base_ptr)
静的タイプのサイズはbase_ptr
です。私はこれが可能ではないと思うようになっていますが、多分私は何かを見落としています。
注:サイズを返すタイプ階層に仮想関数を追加することはできますが、これは私の場合は望ましい解決策ではありません。
EDIT:sizeof(base_ptr)
- 少なくともポータブルな方法で - >sizeof(*base_ptr)
'(base_ptr)は'あなたのサイズを与えてはsizeofポインタであり、クラスではありません。 –
g ++であっても、この情報を提供しないのように見えます。 –
aschepler