C++ static关键字解析

1、static关键字修饰全局变量时,该变量存储在代码区,初始化时机在main函数之前(好像所有全局变量的初始化时机都是在main函数之前切被初始化为0)。且static修饰的全局变量仅限于本编译单元(一个编译单元即是一个cpp文件)可访问。

2、static修饰局部变量(即函数内部的变量),存储在静态区,但是访问权限仅限于该变量所属函数,初始化时机为第一次调用该函数,且此时该变量具有记忆性(即第一次调用该函数后对该静态变量进行了修改,第二次再调用该函数就会直接访问上次调用修改后的值,不会再对改该静态变量进行初始化)。

3、static修饰类的成员变量和类的成员函数:此时被static修饰的成员变量属于类,可以被类的所有对象共享,且所有对象都可以修改该变量,且会影响到其他变量。static修饰的成员函数(称为类的静态成员函数)属于类,且类的静态成员函数不能访问类的非静态变量,因为没有this指针。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值