函数模板

Posted htj10

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数模板相关的知识,希望对你有一定的参考价值。

 

template<class T1,class T2>
auto product(T1 a[], T2 b[], int count)->decltype(a[0] * b[0])

    decltype(a[0] * b[0]) sum ;
    for (int i = 0; i < count; ++i)
    
        sum += a[i] * b[i];
    
    return sum;


int main(int argc, char* argv[])

    int a[] =  1, 2, 3 ;
    long b[] =  1, 2, 3 ;
    int n = sizeof(a) / sizeof(a[0]);
    auto ret = product(a, b, n); //14
    const char* s = typeid(product(a, b, n)).name(); //long
    return 0;

 

decltype(..)是获得一个表达式的结果值的类型。->后的是函数的返回类型。

 

以上是关于函数模板的主要内容,如果未能解决你的问题,请参考以下文章

[转]C++函数模板与模板函数

C++模板(函数模板/类模板)

C++模板(函数模板/类模板)

[c++][语言语法]函数模板和模板函数

函数模板和类模板

类模板模板类函数模板模板函数