Если я определил класс:
class Blah {};
Как я могу:
std::string const className = /* What do I need to do here? */;
assert( className == "Blah" );
Я не думаю, что typeid (). Name () является хорошая идея, поскольку она зависит от реализации компилятора . Есть ли что-нибудь, предусмотренное стандартом C ++ или Boost?
Примечание: Если бы класс был унаследован от QObject Qt, я мог бы легко использовать QMetaObject :: className ()
, чтобы получить имя класса.