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