C++静态成员

本文详细探讨了C++中对象的生存期,包括局部对象、全局对象和动态创建的对象,以及它们的构造和析构过程。同时,深入讲解了静态成员的特性,如静态数据成员和静态成员函数,强调它们在整个类中的共享性质,以及如何访问和初始化静态成员。文章通过示例代码展示了静态成员的使用,并指出静态成员函数没有this指针的限制。
摘要由CSDN通过智能技术生成

对象的生存期

1.局部对象

2.全局对象

3.动态创建的对象

1.对于局部定义的对象,每当程序控制流到达该对象定义处时,调用构造函数。当程序控制走出该局部域时,则调用析构函数。

2.对于静态局部定义的对象,在程序控制首次到达该对象定义处时,调用构造函数。当整个程序结束时调用析构函数。

2.对全局定义的对象,当程序进入入口函数main之前对象就已经定义,这时要调用构造函数。整个程序结束时调用析构函数。

3.动态创建的对象,使用new创建对象, delete释放对象.

静态成员

由关键字static修饰说明的类成员,成为静态类成员(static class member)。虽然使用static修饰说明,但与函数中的静态变量有明显差异。类的静

态成员为其所有对象共享,不管有多少对象,静态成员只有一份存于公用内存中。

该类产生的所有对象共享系统为静态成员分配的一个存储空间,而这个存储空间是在编译时分配的,在定义对象时不再为静态成员分配空间

(静态成员数据不在对象空间中,访问它时没有this指针)。

静态成员初始化在类外进行初始化,不管共有或私有

静态数据成员属于整个类,使用时可用以下格式:

类名::静态数据成员名 或 对象.静态数据成员名==(前提 是可访问符为public)==

静态成员函数

class Object {
   
private:
	int value;
	static</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小新 蜡笔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值