2023年12月29日金曜日

C++において、オブジェクトを動的に作成し、参照し、開放する方法は

 C++ において、オブジェクトを動的に作成するには、 new 演算子を使用します。new 演算子は、指定された型のオブジェクトをメモリ上に割り当て、そのアドレスを返します。

C++
// オブジェクトの作成
int* pInt = new int;

// オブジェクトへの参照
*pInt = 10;

// オブジェクトの開放
delete pInt;

この例では、 int 型のオブジェクトを動的に作成し、そのアドレスを pInt に格納しています。次に、 *pInt を使用してオブジェクトの値を 10 に設定します。最後に、 delete 演算子を使用してオブジェクトをメモリから解放します。

オブジェクトを参照するには、ポインターまたは参照を使用します。ポインターは、オブジェクトのメモリ アドレスを格納する変数です。参照は、オブジェクトへの直接のリンクです。

オブジェクトを開放するには、 delete 演算子を使用します。delete 演算子は、指定されたオブジェクトのメモリを解放します。

オブジェクトを動的に作成するもう 1 つの方法は、 new 演算子の代わりに new[] 演算子を使用することです。new[] 演算子は、配列をメモリ上に割り当てます。

C++
// 配列の作成
int* pInts = new int[10];

// 配列への参照
for (int i = 0; i < 10; i++) {
  pInts[i] = i;
}

// 配列の開放
delete[] pInts;

この例では、 int 型の配列を動的に作成し、そのアドレスを pInts に格納しています。次に、 pInts[i] を使用して配列の各要素に値を設定します。最後に、 delete[] 演算子を使用して配列をメモリから解放します。

オブジェクトを開放する際には、オブジェクトが作成された方法に応じて、正しい演算子を使用することが重要です。new 演算子を使用して作成されたオブジェクトは、 delete 演算子を使用して解放する必要があります。new[] 演算子を使用して作成された配列は、 delete[] 演算子を使用して解放する必要があります。

0 件のコメント:

コメントを投稿