标签:count eof 函数模板 auto sum nbsp template const name
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(..)是获得一个表达式的结果值的类型。->后的是函数的返回类型。
标签:count eof 函数模板 auto sum nbsp template const name
原文地址:https://www.cnblogs.com/htj10/p/11439260.html