阅读量:5
C++中传递二维数组的方法可以有多种。下面是几种常见的方法:
- 使用指针参数:可以将二维数组作为指针传递给函数。函数的参数类型应该是指向指针的指针,形式为
int**
。示例代码如下:
void function(int** arr, int rows, int cols) { // 使用arr访问二维数组的元素 } int main() { int rows = 3; int cols = 4; int** arr = new int*[rows]; for (int i = 0; i < rows; ++i) { arr[i] = new int[cols]; } // 初始化二维数组的值 function(arr, rows, cols); // 释放内存 for (int i = 0; i < rows; ++i) { delete[] arr[i]; } delete[] arr; return 0; }
- 使用数组引用参数:可以将二维数组作为数组引用传递给函数。函数的参数类型应该是表示二维数组的引用,形式为
int (&arr)[rows][cols]
。示例代码如下:
void function(int (&arr)[3][4]) { // 使用arr访问二维数组的元素 } int main() { int arr[3][4]; // 初始化二维数组的值 function(arr); return 0; }
- 使用模板参数:可以使用模板参数来传递二维数组。示例代码如下:
template<size_t rows, size_t cols> void function(int (&arr)[rows][cols]) { // 使用arr访问二维数组的元素 } int main() { int arr[3][4]; // 初始化二维数组的值 function(arr); return 0; }
这些方法都可以用来传递二维数组给函数,具体使用哪种方法取决于你的需求和偏好。