C++ static关键字

C++中的static关键字主要用于两个地方:

  • 面向过程程序设计的static:用于普通变量和函数,被static修饰的变量和函数不能其他文件访问
  • 面向对象程序设计的static:修饰类的成员变量和方法

1、面向过程的static

1)静态变量

.静态全局变量:定义在所有函数外部,由本文件内的其他代码共享

.静态局部变量:定义在局部函数内,每次函数调用都是基于上一次调用之后的值

2)静态函数

为了实现对其他文件不可见,静态函数的声明和定义要分开,如果静态函数声明和定义都在头文件中,通过#include指令包含一下该静态函数就可以在其他文件可见了(C++中的include是静态包含,自动将include指向的文件内容替换到当前位置)

2、面向对象的static

1)静态成员变量

声明在类内,赋值在类外,可通过类名直接调用

//A.h
class A{
public:
	static int x;
};
//A.cpp
int A::x=3;//此时不要再有static关键字

//main.cpp
cout<<A::x<<endl;//如果没有初始化(赋值)不能调用

2)静态成员方法

静态成员方法属于类不属于对象,方法内部没有this指针,且静态成员方法只能调用其他的静态成员方法,只能访问静态成员函数。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值