1 数组的引用
int (&array)[NUM] //array先和&结合,array是引用,引用对象为数组
见例子:
void BSTConstruct(BSTPtr& p, int (&data)[10])
{
p = nullptr;
int i = 0;
while (i < sizeof(data)/sizeof(data[0])) {
NonDiGui_keyInsert(p, data[i]);
++i;
}
}
!!!注意:
$1 数组引用做函数形参,数组大小必须标注,且与传入数组大小严格相等
$2 数组引用传入的就是整个数组,而非指向数组的指针,可以在子函数内部用sizeof函数求长度
2 引用的数组
int& array[] //相当于(int&)array[] array是个数组,其中每个元素均为引用
这种用法很少见,实际中使用多的是数组的引用,因为&的结合默认为左结合,所以正常想使用数组的引用int (&array)[NUM]
时,容易忘记添加括号,从而变成引用的数组。