c++staticストレージクラス

1065 ワード

c++staticストレージクラス
staticストレージクラスstaticストレージクラスは、コンパイラがプログラムのライフサイクル中にローカル変数の存在を維持することを示し、役割ドメインに入るたびに作成および破棄する必要はありません.したがって、static修飾ローカル変数を使用すると、関数呼び出し間でローカル変数の値を維持できます.static修飾子は、グローバル変数にも適用できます.staticがグローバル変数を修飾すると、変数の役割ドメインが宣言されたファイルに制限されます.C++では、staticがクラスデータメンバーに使用されると、そのメンバーのコピーがクラスのすべてのオブジェクトで共有されるのは1つだけです.

#include 
 
//      
void func(void);
 
static int count = 10; /*      */
 
int main()
{
    while(count--)
    {
       func();
    }
    return 0;
}
//     
void func( void )
{
    static int i = 5; //       
    i++;
    std::cout << "   i   " << i ;
    std::cout << " ,    count   " << count << std::endl;
}

   i   6 ,    count   9
   i   7 ,    count   8
   i   8 ,    count   7
   i   9 ,    count   6
   i   10 ,    count   5
   i   11 ,    count   4
   i   12 ,    count   3
   i   13 ,    count   2
   i   14 ,    count   1
   i   15 ,    count   0


posted on 2019-03-13 11:24 luogantcc読書(...)コメント(…)コレクションの編集