タグ

Globalとstaticに関するkiyo_hikoのブックマーク (1)

  • 新米さん@ゲームプログラミング - global変数とstatic変数の違い

    「global変数とstatic変数の違いがよくわからない」という人の大半は、 教科書を読んで、global変数も、static変数も、「値が保持されるんだな」というイメージを持ってしまっている点にあると思われる。 たとえば、global変数は、local変数と異なり、スコープ外へ出ても値が保持される。 来は、global変数は「どこから全てのスコープからアクセスできる変数」のことなのだが、local変数がスコープの外へ出ると値が無くなるという風に説明されるため、 対比として「スコープの外へ出ても値が保持されるんだな」と来の概念とは異なった意味で理解してしまう。 次に、staticローカル変数だが、 そもそも、static変数の元々の意味は、呼び出しの度に初期化されない変数のこと。すなわちglobalではなくて、自動変数(auto変数)と対比される。 static変数もまた、スコープを

    kiyo_hiko
    kiyo_hiko 2014/06/09
    むずい…と思ったら自動変数とか出てきてるしC系の話か。今更だけどJavaのpublic staticあたりはFQNでアクセスできるグローバル変数と考えてよいのかな
  • 1