[C++模板技术] 类型映射为类型

来源:互联网 发布:mac apache2下载 编辑:程序博客网 时间:2024/06/07 13:41

将类型映射为类型的技术解决了:

1、模板函数不能偏特化

2、直接用未被使用的类型作为参数重载替代偏特化可能造成无意义的复杂局部变量构造

用法如下:

template<typename T>struct Type2Type{using OriginalType = T;};template<typename T,typename U>T* create(const U& arg,Type2Type<T>){return new T(arg);}template<typename U>Special* create(const U&, Type2Type<Special>){return new Special(arg, -1);}


原创粉丝点击