C++で配列に要素を追加する方法:コード例と分析


  1. 静的配列の要素の追加: 静的配列は、サイズが固定されており、要素を追加することはできません。新しい要素を追加する場合は、より大きなサイズの配列を作成し、元の要素をコピーする必要があります。
#include <iostream>
int main() {
    const int SIZE = 5;
    int arr[SIZE] = {1, 2, 3, 4, 5};
    int newArr[SIZE + 1];
    for (int i = 0; i < SIZE; i++) {
        newArr[i] = arr[i];
    }
    newArr[SIZE] = 6;  // 新しい要素を追加
    // 新しい配列の要素を表示
    for (int i = 0; i < SIZE + 1; i++) {
        std::cout << newArr[i] << " ";
    }
    return 0;
}
  1. 動的配列(std::vector)の要素の追加: 動的配列を使用すると、実行時にサイズを変更できます。std::vectorクラスは、動的配列の実装を提供しています。
#include <iostream>
#include <vector>
int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};
    vec.push_back(6);  // 新しい要素を追加
    // ベクターの要素を表示
    for (int i = 0; i < vec.size(); i++) {
        std::cout << vec[i] << " ";
    }
    return 0;
}
  1. std::arrayの要素の追加: std::arrayは、C++11で導入された固定サイズの配列を表すためのコンテナクラスです。要素の追加には、既存の要素をコピーする必要があります。
#include <iostream>
#include <array>
int main() {
    std::array<int, 5> arr = {1, 2, 3, 4, 5};
    std::array<int, 6> newArr;
    for (int i = 0; i < arr.size(); i++) {
        newArr[i] = arr[i];
    }
    newArr[5] = 6;  // 新しい要素を追加
    // 新しい配列の要素を表示
    for (int i = 0; i < newArr.size(); i++) {
        std::cout << newArr[i] << " ";
    }
    return 0;
}

これらは、C++で配列に要素を追加するいくつかの一般的な方法です。静的配列の場合は、配列サイズを変更するために新しい配列を作成して、元の要素をコピーする必要があります。動的配列では、std::vectorを使用するとより簡単に要素を追加できます。また、C++11以降では、std::arrayも利用できます。どの方法を選ぶかは、使用する具体的なケースによって異なります。