boost::any
コンテナーに格納してさまざまな関数に渡すためのユニバーサル型として使用したいと思います。しかし、これらの関数内では常に実際の型を知っているので、実行時に型の安全性チェックは必要なく、課せられたオーバーヘッドでstatic_cast
十分です。
理想的な解決策は のようなものを使用することですがboost::polymorphic_downcast
、この場合は適用できないことがわかります。
独自のラッパーを作成する必要がありますか、void*
それとも別のオプションがありますか?