tərtib zamanı C ++ növü id

Kompilyasiya zamanı əldə etdiyi növə əsaslanan bir sinif üçün bir hash yaratmaq istəyirəm. Bu gün bunu belə yaradıram:

template<class Type>
class TypeBase 
{
public:
    static const unsigned s_kID;
};

template<class Type>
const unsigned TypeBase<Type>::s_kID = hash(typeid(Type));

, lakin bu (olduqca lazımsız) işləmə vaxtı başlatma kodunu yaradır (hash (..) funksiyası std :: type_info :: name ()) əsasında sadə bir qarışıq yaradır

Fikirlər?

9
задан Robert 22 August 2011 в 14:19
поделиться