码迷,mamicode.com
首页 > 编程语言 > 详细

c++ static 关键字总结

时间:2016-02-10 06:39:04      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:

1. 静态全局变量

在全局变量之间加上static关键字,就被定义为静态全局变量。

特点:在全局数据区分配内存

         未初始化则被自动初始化为0

   在声明它的文件内可见,在声明它之外的文件不可见,其他文件中可使用同名变量

 

2. 静态局部变量

在局部变量前加上static关键字,就被定义为静态局部变量

特点:在全局数据区分配内存,但是作用域为局部作用域

         一般在声明时初始化,只能被显示初始化一次,以后调用该函数时不被初始化 

         若未显示初始化,初始化为0

 

3.静态函数

在函数返回类型前加上static关键字,就被定义为静态函数

特点:只在声明它的文件中可见,在其他文件中不可见

        其他文件中可以有与之同名的函数

 

4.静态数据成员

在类数据成员声明前加上static关键字,就被定义为静态数据成员

特点:无论类对象有多少个,静态数据成员只有一份拷贝,被所有对象共享访问,只分配一次内存,值可以更新

        静态数据成员储存在全局数据区,在定义时要分配空间,所以不能在声明时定义(赋值),可以在声明第一个对象时初始化,格式为

        <数据类型><类名>::<静态数据成员名>=<值>,该初始化可以放在类定义里,这样类声明对象时即可初始化

        静态数据成员遵守public,private,protect访问规则

        同全局变量相比,可以实现信息隐藏,而且由于没有进入全局名字空间,所以不会有命名冲突

 

5.静态成员函数

在类成员函数前加入static关键字,就被定义为静态成员函数

特点:为类服务而不是为某个对象服务,是类的内部实现,属于类定义的一部分

         由于静态成员函数不与类对象联系,所以不存在缺省的this指针,所以也无法访问非静态数据成员,也无法访问非静态成员函数

         除了使用成员访问操作符(.和->)外还可以直接访问静态成员函数,格式为<类名>::<静态成员函数名>(<参数表>)

        

 

c++ static 关键字总结

标签:

原文地址:http://www.cnblogs.com/yang-xiong/p/5185833.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!