类成员函数的静态变量

时间:2022-07-12 18:58:19
class T
{
public:
    
static void StaticVarInStaticFunc()
    {
        
static int x = 0;
        
++x;
        cout
<<"StaticVarInStaticFunc: "<<x<<endl;
    }

    
void StaticVarInNormFunc()
    {
        
static int y = 0;
        
++y;
        cout
<<"StaticVarInNormFunc: "<<y<<endl;
    }
};

int main()
{
    T t1;
    
for(int i=0; i<3++i)
    {
        t1.StaticVarInStaticFunc();
        t1.StaticVarInNormFunc();
    }

    T t2;
    
for(int i=0; i<3++i)
    {
        t2.StaticVarInStaticFunc();
        t2.StaticVarInNormFunc();
    }

    
return 0;
}

 

类的普通成员函数中的静态变量:该类的所有实例共享,不光是对一个实例的所有该函数的调用共享,呵呵,很拗口。