2020-12-01から1ヶ月間の記事一覧
C++でDIするヘッダーオンリーのライブラリを作りました。 github.com Zenject(Extenject)などから影響を受けてます。
template<class T> struct as_op {}; template<class T> constexpr as_op<T> as_obj{}; template<class T, class U> auto operator | (T* ptr, const as_op<U>& op) { return dynamic_cast<U*>(ptr); } #define as | as_obj struct Super{virtual ~Super()=default;}; struct A : Super{ }; int main() { Su</u*></u></class></t></class></class>…
仮想継承のdynamic_castは重いっぽいので ある程度固定化するとまだ速度面でマシになるっぽい wandbox.org