在C++中,可以通过以下几种方法将数组作为参数传递给函数:
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;
}
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;
}
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;
}
注意:在使用数组作为函数参数时,传递的是数组的副本,修改数组内的元素不会影响原始数组。如果想在函数内部修改原始数组,可以使用指针或引用作为参数。