Static在C和C++中的用法

本文详细阐述了C和C++中静态变量和静态函数的概念与区别,包括静态局部变量、静态全局变量和静态成员变量的生命周期、作用域及初始化规则。同时,讨论了静态成员函数的功能和使用场景,强调它们在解决命名冲突和访问静态成员上的作用。
摘要由CSDN通过智能技术生成

一、C与C++中公有的部分:

1、静态变量(静态局部变量和静态全局变量)

(1)静态变量如果未进行初始化,则编译器将会进行初始化为0

(2)静态全局变量只在本文件中有效,外部文件是无效的。(全局变量在整个工程文件中有效)

(3)静态局部变量只在定义它的函数中有效,并且程序只分配一次内存,函数结束调用,静态局部变量并没有销毁,下次调用仍会记住上次的值,生存周期为整个程序的运行周期。(内存中:保存在数据段)

2、静态函数

一个源文件由多个文件组成的情况下,使用静态函数,表示只能在本文件中有效,不能被同一程序中的其他文件函数进行调用,使用static  void  fun () 的形式,可以解决重名问题

二、C++中static特殊的部分(静态成员变量静态成员函数

1、静态成员变量

(1)类外进行初始化,并且也是只能初始化一次

初始化:数据类型  类名 ::静态数据成员 =初始值;

注意:静态数据成员可以被初始化,但是只能在类外进行初始化,若未对静态数据成员赋初值,则编译器会自动为其初始化为0。

(2)访问方式:

类名::静态数据成员名

对象指针->静态数据成员名;

2、静态成员函数

静态函数主要用于访问静态成员变量,一般不访问类中的非静态成员

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值