函数模板
模板,template:定义一个模子,自动适应各个类型。
语法:
template <template T>
T XXX (T arr[],int len)
{
T val = arr[0];
...
}
(1)算法相同
(2)元素类型不同,用T代替。
使用时,用<>来具体指定typename的类型
int main()
{
int arr[4] = {1,42,87.100];
int result = XXX <int> (arr,4);
return 0;
}
也就是说,在使用时函数名为 XXX<int> ,表示吧int类型带入模板。
(1)使用函数模板的优点:相同的算法就不用重复的写多遍了。简化了代码。
(2)函数模板用于实现通用的算法 generic algrithm.也叫泛型算法。
(3)通常,我们更多的是调用人家血汗的函数模板,很少自己去写一个模板。
(4)模板通常定义在头文件里
(5)模板的参数可以有多个
模板,template:定义一个模子,自动适应各个类型。
语法:
template <template T>
T XXX (T arr[],int len)
{
T val = arr[0];
...
}
(1)算法相同
(2)元素类型不同,用T代替。
使用时,用<>来具体指定typename的类型
int main()
{
int arr[4] = {1,42,87.100];
int result = XXX <int> (arr,4);
return 0;
}
也就是说,在使用时函数名为 XXX<int> ,表示吧int类型带入模板。
(1)使用函数模板的优点:相同的算法就不用重复的写多遍了。简化了代码。
(2)函数模板用于实现通用的算法 generic algrithm.也叫泛型算法。
(3)通常,我们更多的是调用人家血汗的函数模板,很少自己去写一个模板。
(4)模板通常定义在头文件里
(5)模板的参数可以有多个