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...
静态成员函数只能访问静态成员变量 class Person { public: //静态成员函数特点: //1 程序共享一个函数 //2 静态成员函数只能访问静态成员变量 static void func() { cout << "func调用" << endl; m_A = 100; //m_B = 100; //错误,不可以访问非静态成员变量 } static int m_A; //静态成员变量 ...
1、静态成员函数的目的 操作静态成员数据。 2、静态成员函数 不能访问 非静态成员数据。(静态成员函数内部没有this指针) 以上代码在getDataStatic静态成员函数中,给num赋值是报错的,原因是静态成员函数 不能访问 普通成员变量 而普通成员函数 是可以操作 静态成员数据的 const 修饰静态成员: 如果一个类的成员,既要实...
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) 此作用主要是针对局部变量 来...
C 语言的 static 关键字有三种(具体来说是两种)用途: 静态局部变量:用于函数体内部修饰变量,这种变量的生存期长于该函数。 int foo(){ static int i = 1; // note:1 //int i = 1; // note:2 i += 1; return i; } 要明白这个用法,我们首先要了解c/c++的内存分布,以及static所在的区间。
static修饰的函数叫做静态函数,根据其出现的位置可分为2种: 静态函数出现在类里的称为静态成员函数: 类的静态成员(变量和方法)属于类本身,在类加载的时候就会分配内存,可以通过类名直接去访问,类的静态成员函数不会访问或者修改任何对象(非static)数据成员。类的非静态成员(变量和方法)属于类的对象,所以只有在类的...
static 关键字不仅可以用来修饰变量,还可以用来修饰函数。 在使用 static 关键字修饰变量时,我们称此变量为静态变量。 1、STATIC用途 static可用来修饰局部变量,全局变量,函数 问题一:static全局变量与普通的全局变量有什么区别 ? 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。
📚 修饰函数:static可以限制函数只能在声明该函数的文件中被调用。 🏆 修饰成员变量:static修饰的成员变量成为类的全局变量,所有对象共享同一个变量。 🔧 修饰成员函数:static修饰的成员函数所有对象共享,并且不包含this指针。2. 🚀 关键字volatile的作用和场景:volatile用于确保编译器不会优化对特定变量的访问,特...
2. 静态数据成员可以被定义为私有成员,而全局变量不能,从而实现信息的隐藏和封装。 通过合理地运用`static`关键字,我们可以更灵活地管理变量和函数,使代码更具可维护性和可读性。 静态成员变量和静态变量在C++中具有特殊的初始化规则和用途。在本文中,我们将探讨为什么它们需要特殊的初始化方式以及如何正确使用它们。