是否可以获得模板参数名称的字符串化版本?
像这样,如果我们只运行预处理器的话:
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/