#include<iostream>
#include<cstddef>
using std::cout;
using std::cin;
using std::endl;
template<class T>
bool sort(const T a[], size_t n)
{
for (int i = 0; i != n-1; ++i)
{
if(a[i] > a[i+1]) return false;
}
return true;
}
int main()
{
const size_t array_size = 10;
int arr[array_size] = {3,4,5,7,66,9,12,14,15,18};
bool up = sort(arr,array_size);
cout << up << endl;
return 0;
}
总结 :
关于 数组参数的传递
非引用形式:
数组以普通的非引用形式传递时,并不进行数组复制,而是传递了数组的首地址,数组形参中中括号里的数组大小没有作用,需自己控制数组大小,以防越界.一般数组都以非引用形式传递.
引用形式:
T (&arr)[10] 注意小括号与中括号中的数字,引用形式必须传递数组的大小,并可以依靠这个数字编程.中括号的约束力比&强 ,因此 &arr[10] 代表大小为10 的数组,数组里存了引用,实际上不存在引用数组.