C++での配列を関数に渡す方法


  1. ポインターを使用する方法: 配列は、ポインターとして関数に渡すことができます。関数内でポインターを介して配列の要素にアクセスできます。

    void printArray(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]);
       printArray(arr, size);
       return 0;
    }
  2. 配列の参照を使用する方法: 配列を参照として関数に渡すこともできます。これにより、関数内での配列の操作が外部の配列に反映されます。

    void modifyArray(int (&arr)[5]) {
       for (int i = 0; i < 5; i++) {
           arr[i] *= 2;
       }
    }
    int main() {
       int arr[] = {1, 2, 3, 4, 5};
       modifyArray(arr);
       for (int i = 0; i < 5; i++) {
           cout << arr[i] << " ";
       }
       return 0;
    }
  3. ベクトルを使用する方法: C++の標準ライブラリである<vector>を使用して、動的な配列を扱うこともできます。ベクトルは、関数に渡す際にポインターまたは参照として渡すことができます。

    #include <vector>
    using namespace std;
    void printVector(const vector<int>& vec) {
       for (int i = 0; i < vec.size(); i++) {
           cout << vec[i] << " ";
       }
    }
    int main() {
       vector<int> vec = {1, 2, 3, 4, 5};
       printVector(vec);
       return 0;
    }

これらの例は、配列を関数に渡すための一般的な方法です。どの方法を選ぶかは、具体的な要件や好みによって異なります。