Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以在C+;中获取类型别名的名称+;? 在C++中,是否可以获得类型别名的名称?< /p>_C++_Templates_Metaprogramming_Template Meta Programming - Fatal编程技术网

是否可以在C+;中获取类型别名的名称+;? 在C++中,是否可以获得类型别名的名称?< /p>

是否可以在C+;中获取类型别名的名称+;? 在C++中,是否可以获得类型别名的名称?< /p>,c++,templates,metaprogramming,template-meta-programming,C++,Templates,Metaprogramming,Template Meta Programming,例如: using my_type = some_type<a,b,c>; std::cout << get_type_name<my_type>() << std::endl; 使用我的类型=某个类型; std::cout不,您不能,除非字符串化宏(与类型系统无关) 有很多方法可以实现强typedef,但它们会生成新类型 请注意,typeid上的名称不必是人类可读的,甚至不必是唯一的。。通常不可能获得任何类型的名称。函数(这是获取任何类型的“名

例如:

using my_type = some_type<a,b,c>;
std::cout << get_type_name<my_type>() << std::endl;
使用我的类型=某个类型;

std::cout不,您不能,除非字符串化宏(与类型系统无关)

有很多方法可以实现强typedef,但它们会生成新类型


请注意,typeid上的名称不必是人类可读的,甚至不必是唯一的。

。通常不可能获得任何类型的名称。函数(这是获取任何类型的“名称”的唯一标准和可移植的方法)不能保证给出一个好的名称。老实说,我的用例只是跟踪/调试实用程序,我想知道是否有什么神奇的方法可以做到这一点。
使用
typedef
不生成新类型,您需要继承来生成一个真正的新类型:
struct my_type:public some_type{}可能重复的