1,数组的引用定义:
int array[ 10 ];
int (&array_ref)[ 10 ] = array; // array_ref is now a reference to array
圆括号是必须的,否则下面的申明:
int &array_ref[ 10 ]; //would attempt to declare an array of 10 references to ints.
将会申明一个数组,数组有十个元素,每个元素都是一个int&。
2,数组作为函数实参:
传引用
非引用形式:数组退化为指针decay
//输出
-----------------
x in commonRef(const Type&) : int const [5]
x in commonNoRef(Type) : int *
x in commonRef(const Type&) : char const *
x in commonNoRef(Type) : char const *
x in commonRef(const Type&) : char const [6]
x in commonNoRef(Type) : char const *
-----------------
3,数组作为函数模板的实参,模板机制可以推导数组的大小:
// 传数组引用
// 不传数组引用
递归推导最高维数: