static的用法总结

static的用法总结

一、修饰内置类型为静态变量

将原本为全局变量或者局部变量的数据,变为静态全局变量和静态局部变量,存储在data区。
静态变量只初始化一次,未初始化的静态变量会默认初始化为0。静态全局变量只在本文件可见,外部文件无法访问。而静态局部变量只在定义的作用域内可见,但他们的生存周期都是整个程序运行时期。

二、static修饰函数

用static修饰的函数,无法被两个文件同时使用,例如,在main.CPP 中声明定义了 函数static int add()那么该函数只能在main.cpp中调用,在其他.cpp 例如public.cpp中无法调用

三、static修饰数据成员

static修饰的数据成员不再栈上分配内存,而在data段中,static修还是的数据野不能通过构造函数来进行初始化,因此成员必须在类外初始化并且只能初始化一次。

四、static修饰成员方法

静态成员方法可以类内或类外定义,但必须类内声明,该成员方法没有this指针,所以不能直接引用非static数据成员或调用类的非static成员方法,只能调用类的static成员数据和static成员方法。static成员方法不能同时被声明为虚函数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值