static修饰的函数叫做静态函数,根据其出现的位置可分为2种: 静态函数出现在类里的称为静态成员函数: 类的静态成员(变量和方法)属于类本身,在类加载的时候就会分配内存,可以通过类名直接去访问,类的静态成员函数不会访问或者修改任何对象(非static)数据成员。类的非静态成员(变量和方法)属于类的对象,所以只有在类的...
1. 🌐 修饰全局变量:static关键字用于限制全局变量的作用域,使其仅在声明该变量的文件中可见。 🔒 修饰局部变量:static用于将局部变量存储在静态区,这样它们只会被初始化一次,而不是每次函数调用时。 📚 修饰函数:static可以限制函数只能在声明该函数的文件中被调用。 🏆 修饰成员变量:static修饰的成员变量成...
【static 类成员函数】 表示这个函数为全类所共有,而且只能访问静态成员变量 【const 常量】:定义时就初始化,以后不能更改。 【const 形参】:func(const int a){};该形参在函数里不能改变 【const修饰类成员函数】:该函数对成员变量只能进行只读操作 static关键字的作用 (1)函数体内static变量的作用范围为该函数...
1、被 static 修饰的变量属于类变量,可以通过类名.变量名直接引用,而不需要 new 出一个类来 2、被 static 修饰的方法属于类方法,可以通过类名.方法名直接引用,而不需要 new 出一个类来 被static 修饰的变量、被 static 修饰的方法统一属于类的静态资源,是类实例之间共享的,换言之,一处变、处处变。 在C++ ...
2.修饰普通函数,表明函数的作用范围,仅在定义该函数的文件内才能使用。在多人开发项目时,为了防止与他人命名函数重名,可以将函数声明为static; 3.修饰成员变量,修饰成员变量是所有的对象只保存一个变量,而且不需要生成对象就可以访问该成员,static类成员不像普通的类数据成员,static类数据成员独立于一切类对象存在。sta...
x,y不再是类成员,因此可以被所有的Entity的实例共享 static int x, y; 静态函数在类内部 ...
staticintdata;//静态成员变量(类内声明) public: //普通成员函数 依赖于 对象的 必须对象调用 intgetData(void) { returndata; } }; //定义的时候 不需要加static intData::data=100;//类外定义+初始化 intmain() { //cout<<Data::data<<endl;//err 静态data是私有的 类外不能直接访问 ...
[解释]:编译器在编译程序中的自定义类时,会在类中的每个普通成员函数中插入this指针,而对static修饰的静态成员函数则不会插入this指针。由于静态成员函数中没有this指针,因此静态成员函数无法在其函数体内访问非静态数据成员;相反,由于静态数据成员属于类而非特定对象,故不需要this指针也可以在函数体内访问静态数据成员...
#include<iostream>usingnamespacestd;classTest{public:intGetA()const{returna;}private:staticinta;// 静态成员变量};//静态成员变量的初始化intTest::a=9;intmain(){TestT;cout<<"static a = "<<T.GetA()<<endl;return0;} 4、修饰类的成员函数 ...
被static修饰的变量、被static修饰的方法统一属于类的静态资源,是类实例之间共享的,换言之,一处变、处处变。 在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以...