現在のプログラミングでは、主にプログラムの中で扱うデータを
メモリー
において保存、管理をしています。メモリー領域は有限のため、そこに保存されたデータは、使用しなくなったときには解放する必要があります。メモリーの確保や解放などの管理のしかたにはさまざまなものがあります。例えば、
メモリーの確保や解放を全てプログラマーが手作業で実施する方法
メモリーの確保をするだけで、言語処理系がそれが使われなくなったことを自動的に検出できるようになっていて、一定のサイクルで不要になったメモリーを自動解放する方法(ガーベージコレクション等)
メモリーが確保されたスコープが終了したタイミングで、言語処理系が自動的に解放する方法(ARC, スマートポインター等)
Swift 言語では
ARC
が採用されています。
