static关键字的意义

 
static 关键字在 C C++ 中都有,但是其意义在两者之间有比较大的区别。
C 语言中:
如果一个变量被声明为static,并且和函数声明是同一级别,则说明这个变量的可见范围是文件作用域,另外也说明了这个变量的生存期是自程序运行开始到程序运行结束。如果是在函数内部则其具有函数作用域。但是生存期仍然是自程序开始运行到程序运行结束。
如果一个函数被声明为static, 则说明这个函数具有文件作用域。类似于文件的私有函数。
C++ 语言中:
如果一个类成员函数声明为static, 那么它只能访问类的static成员变量。也就是说为外界提供了一个访问static变量的借口。
如果一个类成员变量被声明为static, 那么所有的该类以及该类派生类的示例都共享该成员变量。是实现单子模式的重要方法。另外一个static成员变量可以被修饰成volatile型。
关于对类static成员变量访问权限的测试:
(1)       如果该static成员变量没有被初始化,那么只有static成员函数和类的非虚成员函数可以访问。
(2)       如果该static成员变量被初始化,那么类的虚成员函数也可以访问。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值