クラス固有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() とかも出来るので、クラス固有というよりは、型固有って言った方がいいのかも。