関数内に静的変数を作成すると、この変数は関数をさらに使用するときに存在します...そして私が知る限り、グローバル変数も同じことをします。静的変数を使用する利点は何ですか?
2107 次
2 に答える
10
静的変数の字句スコープはstatic
関数本体に制限されています–関数の外部で変数にアクセスすることはできません。ただし、その値は、同じ関数の複数の呼び出しにわたって記憶されます。
グローバル変数はグローバルスコープに存在し、コード内のどこからでもアクセスできます(ただし、関数内でglobal
キーワードまたは$GLOBALS
配列を使用する必要があります)
于 2012-07-28T09:51:06.227 に答える
3
静的変数は、変数がクラスに属していることを意味しますが、そのクラスをインスタンス化することなく参照できます。グローバル変数はグローバル名前空間に存在し、任意のクラスの任意の関数から参照できます。グローバル変数は、誤用、上書き、誤って参照されるなどの理由で常に眉をひそめます。少なくとも静的変数では、Class::varを介して参照する必要があります。
于 2012-07-28T10:05:40.097 に答える