動的記憶域期間 | Programming Place Plus 用語集

トップページ用語集

名称

解説

プログラミングにおける記憶域期間のうち、その期間が、明示的な動的メモリ割り当てと解放によって決まるもののことです。

ダイナミックメモリアロケーション(動的メモリ割り当て)によって確保・解放されるメモリ領域は、動的記憶域期間を持ちます。確保(アロケート)が行われた時点で記憶域期間が開始され、解放(デアロケート、リリース)が行われた時点で記憶域が終了します。

アロケートを行う関数演算子は、割り当てたメモリ領域にアクセスできるようにメモリアドレスなどの情報を返しますが、それを変数で受け取った場合に、その変数が動的記憶域期間を持つということではありません。たとえば、その変数がグローバル変数であるのなら、その変数自身の記憶域期間は、静的記憶域期間です。

C言語の場合

C言語では、割付け記憶域期間 (allocated storage duration) と呼ばれます。

malloc関数などの、動的メモリ割り当てを行う関数によって確保されたストレージ(メモリ領域)は、割付け記憶域期間を持ちます。割付け記憶域期間は、free関数によって解放されるまで続きます。

C++ の場合

C++ では、動的記憶域期間 (Dynamic storage duration) と呼ばれます。

new式によって作成され、delete式によって削除されるオブジェクトのためのストレージ(メモリ領域)は、動的記憶域期間を持ちます。実際にこの領域を確保するのは operator new() であり、解放は operator delete() が行います。

C++ の new や delete に関する解説は、C++編【言語解説】第14章第36章にあります。


参考リンク

更新履歴


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る