c++ - 是否有可能在 C++ 中获取类型别名的名称?

标签 c++ templates metaprogramming template-meta-programming

在 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> .

最佳答案

不,你不能,除非使用字符串化宏(这与类型系统无关)。

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

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

关于c++ - 是否有可能在 C++ 中获取类型别名的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48242171/

相关文章:

c++ - 如何为 main.cpp 中的泛型类重载 operator>

c++ - 在与父类具有相同类型的类中声明模板类

C++11:用于调用类型的默认构造函数的可变参数 lambda 模板

vb.net - Visual Basic 中类的动态属性

ruby - 在没有 'instance' 引用的情况下调用 Ruby Singleton 的方法

c++ - 具有 alpha 和 glColor4f 的 OpenGL 纹理,glColor4f 影响纹理

c++ - 静态对象在 dlclose() 之前被破坏

c++ - 解码哈夫曼树

c++ - 如何发布带有模板实现的头文件?

c++ - 使用整数模板参数时可以展开循环吗?