C与C++中的static

来源:互联网 发布:淘宝梦幻西游7折祥瑞 编辑:程序博客网 时间:2024/05/22 05:33

1、C中的static

1)被static修饰的局部变量只会被初始化一次,每次调用时都会保持上一次的值

2)被static的全局变量只能在本文件内的函数调用,即作用域仅在本文件内

3)被static修饰的函数只能被本文件内的其他函数调用


2、C++中的static

2.1 静态数据成员

1)类中被static修饰的数据成员或函数成员被该类的所有对象共享

2)静态数据成员在内存中只存储一次,静态数据成员初始化应在类外进行,而且应在对象定义之前

eg:

clsss sample{int a;static int b;public:static void display();}// 初始化int sample::b = 1;

2.2 静态成员函数

1)定义:被static修饰的成员函数
静态的数据成员被类所有的对象共享,也就是说静态数据成员是属于类的。静态成员函数类似,也是属于类的

2)静态的成员函数只能访问静态数据成员,不能访问非静态数据成员,也不能访问非静态的成员函数,这是由于静态的成员函数没有this指针

3)静态成员函数的调用不需要调用对象名,如
sample::display();



0 0