C++でのポインタのベクトルの初期化方法と使用例


ポインタのベクトルを初期化するには、以下の手順を実行します。

  1. ベクトルを宣言します。例えば、std::vector<int*> ptrVector;のように宣言します。この場合、int*型のポインタを要素とするベクトルとなります。

  2. ポインタを動的に割り当て、ベクトルに追加します。例えば、以下のコードを使用してポインタを割り当て、ベクトルに追加します。

int* ptr = new int;  // int型のポインタを動的に割り当てる
*ptr = 10;  // ポインタが指す値を設定する
ptrVector.push_back(ptr);  // ポインタをベクトルに追加する
  1. ポインタの解放に注意します。ポインタをベクトルから削除する際には、適切にメモリを解放する必要があります。以下のようにdelete演算子を使用してメモリを解放します。
for (int* ptr : ptrVector) {
    delete ptr;  // ポインタが指すメモリを解放する
}

以上の手順で、ポインタのベクトルを初期化し、使用することができます。

以下は、ポインタのベクトルの使用例です。

#include <iostream>
#include <vector>
int main() {
    std::vector<int*> ptrVector;
    int* ptr1 = new int;
    *ptr1 = 10;
    ptrVector.push_back(ptr1);
    int* ptr2 = new int;
    *ptr2 = 20;
    ptrVector.push_back(ptr2);
    for (int* ptr : ptrVector) {
        std::cout << *ptr << std::endl;  // ポインタが指す値を表示する
    }
    for (int* ptr : ptrVector) {
        delete ptr;  // ポインタが指すメモリを解放する
    }
    return 0;
}

この例では、int*型のポインタを要素とするベクトルを作成し、ポインタが指す値を表示しています。最後に、ポインタが指すメモリを解放しています。

以上が、C++でポインタのベクトルを初期化し、使用する方法の説明です。