C++でのベクトルのメモリ割り当て方法


  1. デフォルトのコンストラクタを使用する方法: ベクトルを宣言するだけで、デフォルトのコンストラクタが自動的にメモリを割り当てます。要素が追加されるにつれて、ベクトルは自動的に必要なメモリを拡張します。

    #include <vector>
    int main() {
       std::vector<int> vec;  // デフォルトのコンストラクタによるメモリ割り当て
       // ベクトルに要素を追加
       vec.push_back(1);
       vec.push_back(2);
       vec.push_back(3);
       // ベクトルの要素を表示
       for (const auto& element : vec) {
           std::cout << element << " ";
       }
       return 0;
    }
  2. 初期サイズを指定する方法: ベクトルを宣言する際に初期サイズを指定することもできます。この方法では、指定した初期サイズのメモリが確保されます。

    #include <vector>
    int main() {
       std::vector<int> vec(5);  // 初期サイズ5のメモリ割り当て
       // ベクトルの要素を表示
       for (const auto& element : vec) {
           std::cout << element << " ";
       }
       return 0;
    }
  3. resize()関数を使用する方法: resize()関数を使用して、ベクトルのサイズを動的に変更することもできます。この方法では、指定したサイズに合わせてメモリが割り当てられます。

    #include <vector>
    int main() {
       std::vector<int> vec;  // デフォルトのコンストラクタによるメモリ割り当て
       // ベクトルのサイズを変更
       vec.resize(10);  // サイズ10のメモリ割り当て
       // ベクトルの要素を表示
       for (const auto& element : vec) {
           std::cout << element << " ";
       }
       return 0;
    }

これらはベクトルのメモリ割り当ての一部です。他にもさまざまな方法がありますが、ここでは一般的な方法をいくつか紹介しました。