static的做用

1、静态局部变量函数

  1.static修饰的局部变量,不像其余局部变量同样函数退出时就消失,它的存储于全局区,生命周期是整个文件;this

  2.可是静态局部变量的做用域仍是和其余局部变量同样在函数中,只能在该函数中调用,退出函数后还存在但不能使用;指针

  3.在声明时若是没有初始化,编译器会将它自动初始化为0。对象

2、静态全局变量:生命周期

  1.静态全局变量只能在本文件中访问,其余文件不可访问;作用域

  2.其余文件中能够定义与它同名的变量,互不影响。编译器

3、静态函数编译

  1.静态函数只能在声明它的文件中可见,其余文件中不能使用该函数;class

  2.其余文件中能够定义与它同名的函数,互不影响。变量

4、静态属性

  1.static修饰的属性称为静态属性,静态属性属于类而非某个对象,不管实例化了多少个对象,它只有一份;

  2.任何一个该类的对象均可以对它操做,一个对象改变了它的值,其余对象中的也会改变;

  3.因此,就算没有实例化对象,也能够直接操做静态数据成员;

  4.至关于加了一个类约束和访问控制属性限制的全局变量,表示只能在这个类里面使用(做用域),它存储(生命周期)在全局区;

  5.静态属性必须在类外定义和初始化;

  5.和普通数据成员同样,静态数据成员也听从public, protected, private访问规则;

  6.初始化格式:数据类型 类名::静态成员名=值 (int Class::num=0);

  7.访问方式:① 类对象名.静态成员名 (cla.num);

        ② 类类型名::静态成员名 (class::num);

5、静态成员函数

  1.static修饰的函数称为静态函数,静态函数也是属于整个类,而不是某个对象;

  2.静态成员函数没有隐藏this指针;

  3.它没法访问属于类对象的非静态属性,也没法调用非静态成员函数;

  4.只能访问静态属性  和  调用静态函数;

  5.态函数实际上是加了类约束 及 访问控制属性限制的 全局函数。

相关文章
相关标签/搜索