我正在尝试获取一个字符串,该字符串在 Windows(Visual Studio 2010)上报告一个没有装饰的类类型,但根本没有成功。
由于 UnDecorateName 不起作用,我正在使用 boost 库。
#include <typeinfo>
#include <boost/core/demangle.hpp>
class MyObject{};
int main (int argc, char ** argv)
{
MyObject o;
const char * str = typeid(o).name(); // str = "class MyObject"
std::string dstr = boost::core::demangle( str ); // dstr = "class MyObject"
return 0;
}
如何从上面的代码中仅获取“MyObject”作为输出字符串?现在我不能使用 c++11 方法。