类的静态成员和非静态成员有何区别?

 我来答
蝎XXXXXLLL
高粉答主

2018-03-13 · 醉心答题,欢迎关注
知道大有可为答主
回答量:145
采纳率:100%
帮助的人:5.3万
展开全部

非静态成员也叫成员变量,二者区别如下 :

1、名称上的区别

成员变量也叫实例变量;静态变量也叫类变量。

2、内存存储的区别

成员变量存储到堆内存的对象中,静态变量存储到方法区的静态区中。

3、生命周期不同

成员变量随着对象的出现而出现,随着对象的消失而消失。静态变量随着类的出现而出现,随着类的消失而消失。

静态数据成员和普通数据成员区别较大,体现在下面几点:

(1)普通数据成员属于类的一个具体的对象,只有对象被创建了,普通数据成员才会被分配内存。而静态数据成员属于整个类,即使没有任何对象创建,类的静态数据成员变量也存在。

(2)因为类的静态数据成员的存在不依赖与于任何类对象的存在,类的静态数据成员应该在代码中被显式地初始化,一般要在类外进行,例如上例。在C++11标准中,我们可以为静态成员提供const整数类型的类内初始值,不过要求静态成员必须是字面值常量类型的constexpr(源自C++Primer中文版270页)。

大雅新科技有限公司
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,... 点击进入详情页
本回答由大雅新科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式