- 163 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 11:54:49 ]
- >>161
void*を何かのクラスに変換するのはプログラマの責任になるんだね。 変換方法はプログラマから決めないといけないけど、1種類のクラスしか扱えないのが実情。 そこで、複数のクラスを扱うには、>>162のように1種類のクラスを挟んでクラスを識別できるようにして変換する。 それをやっているのが>>158の方法。shared_ptr<void>へのポインタshared_ptr<void>*をvoid*として渡し、shared_ptr<void>*に戻す。その後、shared_polymorphic_cast<Hoge>(*Ptr);で変換。型が違えば例外が投げられる。
|

|