void printElements(int(arr)[4]) // option 1
//void printElements(int(&arr)[4]) // option 2
{
int length( sizeof(arr) / sizeof(arr[0]) );
std:: cout <<"length is "<< length << std::endl;
for (int i( 0 ); i < length; ++i)
{
std::cout << arr[i] << std::endl;
}
}
具有主要功能
int main() {
int arr[]{99, 20, 14, 80};
printElements(arr);
}
如所列,有两个选项:一个是void printElements(int(arr)[4])
,另一个是void printElements(int(&arr)[4])
。但是第一个将cout
的数组大小是2。第二个说数组的大小是4。为什么有区别?