生存期間とは? わかりやすく解説

Weblio 辞書 > 同じ種類の言葉 > 言葉 > 時期 > 期間 > 生存期間の意味・解説 

生存期間

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/12/17 01:27 UTC 版)

生存期間


生存期間

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/02/20 07:24 UTC 版)

「変数 (プログラミング)」の記事における「生存期間」の解説

以上のようにスコープは変数に限らず、プログラミング言語などの言語における、名前そのものの可視範囲についての概念である。それに対し、生存期間は変数とその中身(オブジェクト)の対応付け (binding) についての概念である。寿命 (lifetime) とも呼ばれる。言語や規格によって呼称は異なり、C言語およびC++では生存期間 (lifetime) や記憶域期間 (storage duration) 、Common Lispではエクステント (extent) 、C#では有効期間 (lifetime) と呼ばれる。 変数の生存期間とは、プログラムの実行時に、その名前とそれが指すオブジェクトという対応付けが、いつ始まり、(再代入などが無い限り)いつまで保持されるか、ということである。 グローバル変数の生存期間は、プロセスの生成時か最初の代入時に始まり、プログラムかプロセスの終了時まで、というプログラミング言語が多い。 C言語の場合、関数の仮引数や、自動記憶域期間を持つローカル変数(static修飾されていない、またはauto修飾されているローカル変数)の場合、生存期間はその関数呼び出しから抜けるまでである。これは、C言語では関数呼び出しから一旦抜けてしまうと、そこに戻ってくることは無い(setjmp.h(英語版)内のsetjmp/longjmpを使えば不可能ではないが、「深い方」へのジャンプは禁止されている)からである。 クロージャなどの変数キャプチャにより、その変数へのアクセスがその後もあるかもしれない場合は、その関数呼び出しを抜けてもその対応付け(束縛、bindingなどとも)は保持されなければならない。クロージャないしそのようなものがある言語では、そのためにローカル変数でもエクステントは(アクセスされる可能性がある限り)延長される。そのようなエクステントをinfiniteあるいはindefiniteのエクステント(訳して、無限の、あるいは、無制限の存在期間、など)という。 なお、C言語の関数におけるローカル変数をstatic修飾すると、グローバル変数と同様の生存期間(静的記憶域期間)になる。一方、C言語のグローバル変数をstatic修飾すると、変数のスコープをファイルスコープに制限する。これは単にstaticという同一のキーワードを、文脈から区別が可能だから流用しているというだけで、それぞれの意味は全く違う(@media screen{.mw-parser-output .fix-domain{border-bottom:dashed 1px}}後者はfilescopeといったような別の表現にするのが本来は適切だっただろう[独自研究?])。この流用が、おそらくスコープとエクステントを多くのプログラマが混同する原因の一つである[独自研究?]。

※この「生存期間」の解説は、「変数 (プログラミング)」の解説の一部です。
「生存期間」を含む「変数 (プログラミング)」の記事については、「変数 (プログラミング)」の概要を参照ください。

ウィキペディア小見出し辞書の「生存期間」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ。

「生存期間」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。



生存期間と同じ種類の言葉


英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「生存期間」の関連用語

生存期間のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



生存期間のページの著作権

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの生存期間 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの変数 (プログラミング) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2026 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2026 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2026 GRAS Group, Inc.RSS