static変数
関数内のローカル変数の宣言時に「static」を付加すると、static変数になります。
- static変数は初回の関数実行時に一度だけ初期化されます。
- 値は関数呼出し後も保持されます。
「関数内グローバル変数」といった感じ。以下はサンプルです。
#include <iostream> int get( ){ // static 変数 static int var = 100; // この初期化は1回しか行われない。 return var++; } int main() { std::cout << get() << std::endl; // 100 std::cout << get() << std::endl; // 101 std::cout << get() << std::endl; // 102 return 0; }
実行結果です。
100 101 102