C++想实现用任意二维数组名作函数参数怎么做
时间: 2024-12-29 09:35:43 浏览: 9
在C++中,如果你想让函数接受任意大小和类型的二维数组作为参数,你可以使用模板(Templates)和引用(References)。这样做可以提供某种程度的泛型编程能力。下面是一个简单的示例:
```cpp
template <typename T, size_t Rows, size_t Cols>
void processArray(T (&array)[Rows][Cols]) {
for (size_t i = 0; i < Rows; ++i) {
for (size_t j = 0; j < Cols; ++j) {
// 这里处理数组元素
std::cout << array[i][j] << " ";
}
std::cout << "\n";
}
}
// 使用示例
int main() {
int arr1[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
float arr2[2][5] = {{1.1, 2.2, 3.3, 4.4, 5.5}, {6.6, 7.7, 8.8, 9.9, 10.1}};
processArray(arr1);
processArray(arr2);
return 0;
}
```
在这个例子中,`processArray`函数接受一个二维数组引用,并使用其实际的尺寸和类型进行操作。注意,由于C++不支持动态分配的二维数组作为函数参数,所以传递的必须是在栈上已知大小的数组。
阅读全文