1.static类成员

C++primer里面说过,static类成员不像普通的类数据成员,static类数据成员独立于一切类对象处在。static类数据成员是与类关联的,

但不与该类定义的对象有任何关系。即static不会像普通类数据成员一样每一个类对象都有一份,全部类对象是共享一个static类成员的。

例如A类对象修改了static成员为1,那么B对象对应的static类对象成员的值也会是1。

static 成员不占用类对象的空间

#include <iostream>

using namespace std;

class A{
    public:
        A(){} 
        ~A(){} 
    private:
        static int x;  //static int x=1;错误 
        
        static void m_data(int a)
        {  x=a;  }     
};

int A::x=1;

int main()
{
    A my_class;
    cout<<sizeof(my_class)<<endl; 
    return 0;
}
View Code

相关文章: