当数组作为函数的参数进行传递时,一般要关心两个量,一个是数组指针,另一个是数组大小。
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; }
这样就可以传递任意大小的数组,而且不必担心数组大小会出错的问题了。