通过引用将数组传递给函数

时间:2018-12-06 20:20:54

标签: c++ arrays reference

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。为什么有区别?

0 个答案:

没有答案
相关问题