A(){}intval();staticintstval();static int ac;conststaticintbc=2;//常量静态成员可以在类内初始化private:staticintdc;intnn; };int A::ac=1; //类外定义且初始化,//类的静态成员变量需要在类外分配内存空间intA::dc=1;intA::stval(){// nn=10; 静态成员函数不能调用非静态成员dc=20;returnd...
1、静态成员函数的目的 操作静态成员数据。 2、静态成员函数 不能访问 非静态成员数据。(静态成员函数内部没有this指针) 以上代码在getDataStatic静态成员函数中,给num赋值是报错的,原因是静态成员函数 不能访问 普通成员变量 而普通成员函数 是可以操作 静态成员数据的 const 修饰静态成员: 如果一个类的成员,既要实...
静态成员函数只能访问静态成员变量 class Person { public: //静态成员函数特点: //1 程序共享一个函数 //2 静态成员函数只能访问静态成员变量 static void func() { cout << "func调用" << endl; m_A = 100; //m_B = 100; //错误,不可以访问非静态成员变量 } static int m_A; //静态成员变量 ...
test::a=3;//这一句就必须要求static a是public类型的。 } } 静态成员有一个好处就是在一个对象都没有构造的时候就可以对该变量进行访问。 注意:static成员函数,由于static成员函数并不包含this指针,所以无法对类的非static成员变量 进行任何操作。并且static成员函数是无法声明为const类型的,因为const就是说不会...
static关键字是C, C++中都存在的关键字。从字面理解是“静态的“的意思,与此相对应的,应该是“动态的“。 static的作用主要有以下3个: 局部数据:扩展生存期(C/CPP); 全局数据/函数:限制作用域(C/CPP); 类成员数据/函数:数据唯一性(ONLY CPP); 局部数据:扩展生存期( C/CPP) 此作用主要是针对局部变量 来...
📚 修饰函数:static可以限制函数只能在声明该函数的文件中被调用。 🏆 修饰成员变量:static修饰的成员变量成为类的全局变量,所有对象共享同一个变量。 🔧 修饰成员函数:static修饰的成员函数所有对象共享,并且不包含this指针。2. 🚀 关键字volatile的作用和场景:volatile用于确保编译器不会优化对特定变量的访问,特...
static修饰的函数叫做静态函数,根据其出现的位置可分为2种: 静态函数出现在类里的称为静态成员函数: 类的静态成员(变量和方法)属于类本身,在类加载的时候就会分配内存,可以通过类名直接去访问,类的静态成员函数不会访问或者修改任何对象(非static)数据成员。类的非静态成员(变量和方法)属于类的对象,所以只有在类的...
static 关键字不仅可以用来修饰变量,还可以用来修饰函数。 在使用 static 关键字修饰变量时,我们称此变量为静态变量。 1、STATIC用途 static可用来修饰局部变量,全局变量,函数 问题一:static全局变量与普通的全局变量有什么区别 ? 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。
C/C++的static成员 1.静态全局变量 static声明的变量,可以作为静态全局变量,静态全局变量存储在系统的全局数据区,而非static变量如果是声明的变量存储在栈区,如果是通过new/malloc分配的则存储在堆区.关于堆和栈存储的区别,我会在后续文章跟进. 因为存储在全局数据区,所以这个变量是全局的,看以下代码:...
静态成员函数不能声明成const的,而且我们也不能在static函数体内使用this指针。 访问静态成员 可以使用类的对象、引用或者指针来访问静态成员; 可以通过类和作用域运算符直接访问静态变量。 定义静态成员 既可以在类的内部,也可以在类的外部定义静态成员函数。(在类外定义时,不能重复static关键字,该关键字只出现在类...