C++中关键字static的作用

1、定义局部静态变量,存放在全局数据区的静态变量区。初始化的时候自动初始化为0; 其作用域为局部作用域,当定义它的函数或语句块结束时,其作用域随之结束。 
2、static定义全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以。 
3、static定义一个函数,则这个函数的只能在本文件中调用,不能被其他文件调用。
(1)不想被释放的时候,可以使用static修饰。比如修饰函数中存放在栈空间的数组。如果不想让这个数组在函数调用结束释放可以使用static修饰 
(2)考虑到数据安全性(当程想要使用全局变量的时候应该先考虑使用static)

4、 定义静态数据成员,有如下特点:

(1)内存分配:在程序的全局数据区分配

(2) 初始化和定义:静态数据成员定义时要分配空间,所以不能在类声明中定义

5、定义静态成员函数。

  静态成员函数与类相联系,不与类的对象相联系。静态成员函数不能访问非静态数据成员。

posted @ 2018-03-20 22:18  CanSun  阅读(254)  评论(0编辑  收藏  举报