您的当前位置:首页正文

使用Template传数组参数

2024-11-10 来源:个人技术集锦
#include <iostream>
template<typename T, int count>
T sum(T (&t)[count])
{
	T retVal(0);
	for(int i = 0; i < count; i++)
	{
		retVal += t[i];
	}
	return retVal;
}
int main()
{
	int A[] = {1,2,3,4,5,6,7,8,9,0};
	std::cout <<sum(A);
	return 0;
}

上面的代码利用模板推导出数组的大小,并传入函数,这样操作比较与数组指针加长度的方式避免了输入长度与实际不匹配的问题。相比见sizeof(array[])/sizeof(type)的形式,改方法采用的时编译器执行,节约了运行期的时间。

Top