Как получить имя класса?

Если я определил класс:

class Blah {};

Как я могу:

std::string const className = /* What do I need to do here? */;
assert( className == "Blah" );

Я не думаю, что typeid (). Name () является хорошая идея, поскольку она зависит от реализации компилятора . Есть ли что-нибудь, предусмотренное стандартом C ++ или Boost?

Примечание: Если бы класс был унаследован от QObject Qt, я мог бы легко использовать QMetaObject :: className () , чтобы получить имя класса.

12
задан Community 23 May 2017 в 11:45
поделиться