温馨提示×

c++静态数组能作为函数参数吗

c++
小樊
86
2024-09-04 18:03:46
栏目: 编程语言

在C++中,静态数组不能直接作为函数参数。但是,您可以通过以下方式实现类似的功能:

  1. 使用指针传递数组:
#include<iostream>
using namespace std;

void function(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]);
    
    function(arr, size);
    return 0;
}
  1. 使用引用传递数组:
#include<iostream>
using namespace std;

template<size_t N>
void function(int (&arr)[N]) {
    for (int i = 0; i < N; ++i) {
        cout<< arr[i] << " ";
    }
}

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    
    function(arr);
    return 0;
}

这里我们使用了模板和引用,让编译器自动推导数组的大小。注意,这种方法仅适用于固定大小的数组。

0