テンプレート
たまに仮想関数をテンプレート関数にしたくなることがあるが、C++ではできない。 #include <iostream> #include <typeinfo> namespace lib { class IDynamicType { public: virtual ~IDynamicType() = default; template<typename StaticType> virtual void function(const StaticType &value) = 0; //</typename></typeinfo></iostream>…
C++でSingletonクラスを作成するのに便利なのがLoki::SingletonHolderクラス。しかし、Loki::SingletonHolderはテンプレートクラスかつ静的メンバ変数でオブジェクトを管理しているため、ダイナミックリンクライブラリ(DLL)で使う場合には注意が必要だ。 …