- 285 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 20:46:26 ]
- >>280
さー? >>244が静的な多様性でいいのかどうか分からないからなんとも。 しかし動的な多様性がほしいとすると、引っかかることも。 「ポインタで与えられる」、しかし共通のベースクラスがあるわけではないってことは、void *型で渡すんだろうか。 それだと特定のメンバ関数云々よりも、そもそもオブジェクトのクラスの型は何だってことになるし。 動的な多様性がほしい、 しかし、既存のコードはいじりたくないので、共通のベースクラスに純粋仮想関数は使えないというのなら、 例えばBoost.Anyに使われているType Erasureのテクニックが使えるかもしれない。 あの単純すぎるテクニックを使えば、かなり変態的なことができる。
|

|