static(静态)变量详解 C++(程序员面试笔试宝典笔记)

本文详细阐述了C++中的static关键字的作用,包括static变量的内存存储、作用域和初始化,以及static函数的特性。static全局变量限制外部文件访问,static局部变量在函数调用间保持值,静态成员变量在所有对象间共享,且需在类外初始化。静态成员函数不依赖于特定对象,不能访问非静态成员。此外,文章提到了在头文件中定义静态变量的弊端。
摘要由CSDN通过智能技术生成


  • static作用:

1、变量具有记忆功能,在函数调用过程中值不变

2、模块中的变量(函数外),作用域有限,仅该模块内所有函数;函数同理,仅包含该函数的文件可用

  • static全局变量与普通全局变量区别:

static全局变量只初始化一次,目的:防止在其他文件单元中被引用

  • static局部变量与普通局部变量区别:

static局部变量只被初始化一次,下次运算依据是上次的结果值

  • static()函数与普通函数区别:

作用域不一样,static()函数只在一个源文件中有效,不能被其他源文件使用

  • C++中类内静态数据成员特点

1、无论类对象被定义了多少个,静态数据成员在程序中只有一份,由该类型的所有对象共享访问

2、静态数据成员存储在全局数据区,定义时要分配空间,不能在类声明中定义。他不属于特定的类对象,在没有产生类对象时,其作用域也可见,程序也可用

3、静态数据成员与普通数据成员一样遵从public、protected、private访问规则

4static成员变量的初始化是在类外,此时不带static关键字,private、protected的static成员随可以在类外初始化,但不能在类外访问

  • 与全局变量相比,使
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值