关于c++中的static

本文详细解析了C/C++中static关键字的五种用法,包括静态局部变量、静态全局变量、静态函数、静态数据成员及静态成员函数。通过本文,读者可以了解到static在不同上下文中的具体含义及其使用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      最近碰到一些关于static 的问题,今天就查资料总结了一下。 主要有5类,分为面向过程和面向象两种:

1.  作为静态的局部变量。(最重要)

2.  作为静态的全局变量。

3.  作为静态函数。

4.  作为静态数据成员。

5.  作为静态成员函数。

第1种: 作为静态的局部变量。  这种方式相当于定义了一个全局变量, 但是作用域只限于函数内部。 优点是可以在函数运行结束时保持其变量不变。

第2种: 作为静态的全局变量。 这个基本和全局变量一样。只有两点区别: 1是不能被其它文件访问;2是可以有和这个静态全局变量同名的变量。

第3种: 作为静态的全局函数。 它和一般函数的区别: 1是不能被其它文件访问

第4种: 作为静态的类的数据成员。它被当作是类的成员。无论这个类的对象被定义了多少个,静态数据成员在程序中也只有一份拷贝,由该类型的所有对象共享访问。也就是说,静态数据成员是该类的所有对象所共有的。所以在一个对象中被修改过后,在另一个对象中这个“静态的类的数据成员”是被前面对象修改后的值。

第5种: 作为静态的类的成员函数。1静态成员之间可以相互访问,包括静态成员函数访问静态数据成员和访问静态成员函数2非静态成员函数可以任意地访问静态成员函数和静态数据成员; 3静态成员函数不能访问非静态成员函数和非静态数据成员;

参考文章: http://www.vckbase.com/document/viewdoc/?id=1720

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值