C/C++中关于静态static的问题

6 篇文章 0 订阅

静态变量:
在程序编译时赋初值,且只赋初值一次,在程运行时它已有初值,且之后每次调用声明静态变量的代码块时就不再重新赋初值,而是保留上次代码块执行结束时的值。

静态全局变量:
静态全局变量仅限在定义改变量的源文件内有效,对同一源程序的其他源文件不可使用。

静态函数:
也可以叫内部函数。函数的作用域只限于本文件,能被本文件的函数调用,且其他文件中可出现同名的函数。

类的静态数据成员:
1、类的各对象所共有,而不属于某个对象的成员,属于类;
2、静态数据成员的内存只存在一份,每个对象都可以引用此静态成员数据。
3、静态数据成员的值对所有对象都是一样的,若改变其值,则各对象中这个数据成员的值都同时改变。
4、只声明类而未定义对象时,或者说是早程序编译时,静态数据成员的内存已经被分配了,可以被引用,如类A的public静态数据成员static int b,在类外可以用A::b来引用。
5、静态数据成员需要在类外声明、初始化,不然会在引用时报错。例如:int A::b=10;但是如果一个成员变量同时是static和const的,那是可以也只能在声明的时候就赋初值。

类的静态成员函数:
1、和静态数据成员一样,属于类。
2、和静态数据成员一样,也可以用A::static_fun()来引用。
3、静态函数成员的作用是用来处理静态数据成员的。
4、静态函数成员对于同属于类的静态数据成员可以直接引用,但是不能进行默认访问非静态成员。除非先定义了对象,并用对象名和成员运算符"."。
5、静态成员函数不能被声明为虚函数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值