在C ++中,是否可以获取类型别名的名称?
例如:
using my_type = some_type<a,b,c>;
std::cout << get_type_name<my_type>() << std::endl;
会打印my_type
,而不是some_type<a,b,c>
。
答案 0 :(得分:3)
不,你不能,禁止使用字符串化宏(与类型系统无关)。
有很多方法可以执行强类型定义,但它们会生成新类型。
请注意,typeid上的名称不需要是人类可读的,甚至是唯一的。