c++ - 字符串化模板参数

标签 c++ templates stringification

是否可以获得模板参数名称的字符串化版本?

像这样,如果我们只运行预处理器的话:

template <typename T>
struct Named{
    const char* name(){ return "Named<" #T ">"; }
};

编辑 复制。看这里 Stringifying template arguments

最佳答案

没有。最接近的是 typeid(T).name()。然而,这个结果是未指定的,即使是为所有类型返回空字符串的实现也是符合要求的。不过,出于调试目的,它通常就足够了。

关于c++ - 字符串化模板参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3056996/

相关文章:

c++ - 试图重新学习 C++ 的简单计算器。左值错误

c++ - 部分模板特化类型折叠规则

c - 在 C 中使用标记串联访问和修改变量

c - C宏中的#x是什么意思?

c++ - 跳过/未发生赋值运算符重载

c# - 了解 Google V8 的架构

java - 将 Java 、 C++ 和 PHP 相互连接

c# - asp.net mvc 5 t4 脚手架

c++ - 为什么 std::numeric_limits<SomeStruct>::infinity() "work"?

C/C++ 预处理器 - 'Charify'