当数组作为函数的参数进行传递时,一般要关心两个量,一个是数组指针,另一个是数组大小。

void array01(int n, int *a)
{
    for(int i=0;i<n;i++)
    {
        cout<<a[i]<<"";
    }
    cout<<endl;
    

}

这时候就有可能出现传错数组大小的错误。

我们可以通过模板进行泛型实现,如下:

template <int N>
void array02(int (&a)[N])
{
    for(int i=0;i<N;i++)
    {
       cout<<a[i]<<" ";
    }

    cout<<endl;
}

这样就可以传递任意大小的数组,而且不必担心数组大小会出错的问题了。