向子函数传递一个数组时,数组是不会被拷贝的,一般来说都是传地址给子函数而已。
怎么规范地向子函数传递数组呢,一般来说,我们会给定数组地址,然后告诉子函数数组的长度之类的。
利用函数模板,可以实现不需告诉子函数数组长度,也能安全地使用数组,使用的是非类型模板参数,编译器根据你给定的非类型模板参数,自行推断出对应的数组长度,这个方法更具有普适性。
下面是向子函数传递数组的几个基本用法:
#include <iostream>
using namespace std;
int test1(const double a[],const int *beg ,const int *end)