【发布时间】:2020-03-11 16:29:36
【问题描述】:
我需要打印一个类的名字比如
template<typename... Args>
struct S{};
使用typeid(S<int,std::vector<double>>).name() 打印具有代表性的东西相当简单。使用boost demangle,它甚至可以在 gcc 上读取。
有什么方法可以得到名字,所以不同编译器之间的名字是一样的?
【问题讨论】:
-
只有编译器特定的魔法,因为 C++ 还没有反射。
-
如果存在这样的功能,它可能对序列化/反序列化(以文本形式)有用。
标签: c++ visual-studio gcc boost c++17