class NullType{};
template<class TList> void PrintTList(TList &dummy)
{
cout<<typeid(TList::Head).name()<<endl;
PrintTList(TList::Tail);
}
void PrintTList(NullType &dummy)
{
cout<<"-------------End-------------"<<endl
}
本文展示了一个使用C++模板元编程技术打印类型列表的例子。通过递归模板特化技术,可以遍历类型列表并打印每个类型的名字。此方法在编译期完成类型信息的处理,适用于需要在编译阶段进行类型检查或生成特定代码的场景。
class NullType{};
template<class TList> void PrintTList(TList &dummy)
{
cout<<typeid(TList::Head).name()<<endl;
PrintTList(TList::Tail);
}
void PrintTList(NullType &dummy)
{
cout<<"-------------End-------------"<<endl
}
2157

被折叠的 条评论
为什么被折叠?