(c++)(课下作业)静态数据成员,栈内存,堆内存,静态内存

本文介绍了C++中的静态数据成员的概念,强调其作为类共享属性的特性,以及如何初始化和访问。接着讨论栈内存的优缺点,指出在有限空间和自动释放内存的需求下应谨慎使用。然后阐述了堆内存的动态分配和释放,以及new和delete运算符在C++中的作用。最后,简述了静态内存,包括全局变量和静态变量的存储区域和生命周期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//c++课下作业,顺手上传一下

1.静态数据成员

        静态数据成员以static修饰,不同于一般的数据成员。一般的数据成员属于某个对象,不同对象的该成员各自占据一段内存,且只有在创建对象后才占据内存;而静态数据成员属于类,而非该类的某个对象,即使不创建对象也占据内存,代表着该类所有对象的共有属性。当通过一个对象改变该类的静态成员变量时,该类的其它对象的此静态成员变量也随之改变,因为不同对象中的此静态成员变量占据的实际上是同一段内存。

        静态成员变量只能在类中定义,在类外初始化。如果没有对其进行初始化,系统将赋给其默认的初始值0或空。即使不在类外初始化,也需要在类外进行定义性声明以分配存储空间,而类内的是引用性声明不分配存储空间。

        比如表示某班级学生的一个类student,该类的学生对象拥有共同的属性number,表示此班学生的数量。“询问”任一学生班级总人数,得到的答案应该是相同的,故应设置静态数据成员number。以下例子实现了创建一个学生时学生数量+1,删除一个学生时学生数量-1,且所有学生“口中”的班级人数是共享的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值