クラス固有ID
C++ でクラス固有のIDを取得する方法。
/*! * @brief クラス固有の ID を取得するためのクラス */ template< class T > class TypeID{ private: /*! * @brief この関数へのポインタをクラス固有の ID として使う */ static void TypeFunc(){} public: /*! * @brief クラス固有の ID を返す */ static uint32 Get(){ return (uint32)&TypeFunc; } };
こんだけ。
追記:
考えてみれば、TypeID< int >::Get() とかも出来るので、クラス固有というよりは、型固有って言った方がいいのかも。