c++

c++数组参数传递的方法是什么

小亿
212
2023-12-28 03:42:25
栏目: 编程语言

在C++中,可以通过以下几种方法将数组作为参数传递给函数:

  1. 传递指针:可以将数组的首地址作为指针传递给函数。函数中通过指针来访问数组的元素。示例代码如下:
void foo(int* arr, int size) {
    for (int i = 0; i < size; i++) {
        cout << arr[i] << " ";
    }
}

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int size = sizeof(arr) / sizeof(arr[0]);
    foo(arr, size);
    return 0;
}
  1. 传递引用:可以将数组作为引用传递给函数。函数中仍然可以通过数组名来访问数组的元素。示例代码如下:
void foo(int (&arr)[5]) {
    for (int i = 0; i < 5; i++) {
        cout << arr[i] << " ";
    }
}

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    foo(arr);
    return 0;
}
  1. 使用模板参数:可以使用模板参数来传递数组,这样可以适应不同长度的数组。示例代码如下:
template<typename T, size_t size>
void foo(T (&arr)[size]) {
    for (int i = 0; i < size; i++) {
        cout << arr[i] << " ";
    }
}

int main() {
    int arr1[] = {1, 2, 3, 4, 5};
    foo(arr1);

    double arr2[] = {1.1, 2.2, 3.3, 4.4, 5.5};
    foo(arr2);
    return 0;
}

注意:在使用数组作为函数参数时,传递的是数组的副本,修改数组内的元素不会影响原始数组。如果想在函数内部修改原始数组,可以使用指针或引用作为参数。

0
看了该问题的人还看了