新人求问 一个 STL特化的问题
template<typename T>
void foo(T& t){
cout << typeid(t).name() << endl;
}
void foo(char const* (&i)[]){ //这里数组不写大小会报错 但是写了感觉不能达到我的要求
cout << typeid(i).name() << endl;
}
int main(){
int a[5]={0};
foo(a);
char const* c[5] = {"ab","cd","ef","gh","ij"};
foo(c)
}
我想针对指针数组单独特化一种情况 但是上面 参数里面感觉怎么写都不对 ,
这怎么办??????????????
void foo(T& t){
cout << typeid(t).name() << endl;
}
void foo(char const* (&i)[]){ //这里数组不写大小会报错 但是写了感觉不能达到我的要求
cout << typeid(i).name() << endl;
}
int main(){
int a[5]={0};
foo(a);
char const* c[5] = {"ab","cd","ef","gh","ij"};
foo(c)
}
我想针对指针数组单独特化一种情况 但是上面 参数里面感觉怎么写都不对 ,
这怎么办??????????????
...全文
相关推荐
C++模板之特化与偏特化详解
特化和偏特化是模板
C++模版特化
本文将深入探讨C++中的类模板特化,尤其是针对单个模板参数的不同特化类型:特化为绝对类型、特化为引用或指针类型以及特化为另一个类模板。
C++STL模板学习讲义
模板特化是模板概念的进一步深化。当通用模板在特定情况下不能正确工作时,可以通过提供特殊化的模板定义来解决这个问题。特化可以是针对整个类模板的,也可以是针对类模板中的部分成员的。
c++Stl讲义简练版
此外,理解模板的编译模型有助于避免一些常见的陷阱,如链接错误等问题。希望本讲义能够帮助大家更好地理解和使用 C++ STL。
C++ STL分析
模板特化是指为模板的某个特定实例提供专门的实现,这种实现通常是为了优化性能或解决某些类型特有的问题。- **完整类模板特化**:可以为整个类模板提供一个特化版本,以应对某些特殊情况。


