C++和Java中的静态Static用法-阿里云开发者社区

开发者社区> 开发与运维> 正文

C++和Java中的静态Static用法

简介:

C++和Java中都有的一个静态关键字Static,可以放在类中的变量或者函数之前,就成了静态变量或者静态函数。

静态变量又分为静态全局变量和静态局部变量,可参见网上大神总结的C++全局变量,局部变量,静态全局变量,静态局部变量的区别。在类中的静态变量在定义时需要用类名引导,对其访问时,使用类名或者对象名都可以。一般来说静态变量是用来保存流动变化的对象的个数的。

类中的静态函数和普通的成员函数的区别是它可以不通过类的对象调用的,因为它根本就没有对象,而且也不能访问类中非静态的成员。静态函数可以只作用于当前cpp文件,不会被其他文件调用。

对于C++和Java中静态Staic的使用大体上是相同的,但是还是有一个不一样的地方,C++中的静态变量是不能在类中初始化,要想在类中初始化,必须在前面加上常量const关键字,但此时变量就不能修改了,也许就违背了设计的初衷,而Java中却可以在类中初始化静态变量。

在C++11中static const只能在类中初始化int和枚举enum类型,对于浮点型float和double要用static constexpr来初始化。

本文转自博客园Grandyang的博客,原文链接:C++和Java中的静态Static用法,如需转载请自行联系原博主。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章