C++における2次元配列の引数の渡し方は何ですか?

C++で2次元配列を渡す方法にはいくつかの方法があります。以下はいくつか一般的な方法です:

  1. int** を日本語でいうと、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;
}
  1. 行と列が指定された2次元配列を、int型のポインタ変数arrが指す。
void function(int (&arr)[3][4]) {
    // 使用arr访问二维数组的元素
}

int main() {
    int arr[3][4];
    // 初始化二维数组的值

    function(arr);
    
    return 0;
}
  1. テンプレートパラメータの使用: テンプレートパラメータを使って、二次元配列を渡すことができます。以下はその例です。
template<size_t rows, size_t cols>
void function(int (&arr)[rows][cols]) {
    // 使用arr访问二维数组的元素
}

int main() {
    int arr[3][4];
    // 初始化二维数组的值

    function(arr);
    
    return 0;
}

これらの方法はすべて、関数に2次元配列を渡すために使用することができますが、どの方法を使用するかは、あなたのニーズと好みに応じて異なります。

bannerAds