在类中使用和非类中
非类中:
-
隐藏
举例:
一个a.cpp文件,一个b.cpp文件。这个是a.cpp的内容:
#include<iostream> int g_a = 1; void fun() {}这个a.cpp中的变量g_a和函数fun在b.cpp中是可以访问且使用的。
加static后就对其他源文件(a.cpp之外的)隐藏了。 -
默认初始化为0
备注:未初始化的全局静态变量和局部静态变量,以及未初始化的全局变量都初始值为0,因为都存储在全局静态存储区 -
局部静态变量生命周期不在仅是所属函数,生命周期为整个程序,但是作用域不变。
类中使用:
- 修饰数据成员:①不属于任何类对象,属于该类 ; ②在类外初始化
- 修饰成员函数:①不能用virtual、const声明; ②无法访问非静态成员函数和非静态数据成员 ; ③非静态成员函数可以访问静态数据和静态数据成员。

本文深入探讨C++中static关键字的使用,包括其在非类和类中的不同功能。在非类中,static用于隐藏变量和函数,使其只在定义的源文件中可见。在类中,static修饰的数据成员和成员函数不属于任何特定对象,而是属于整个类,且有特定的初始化和访问限制。

5341

被折叠的 条评论
为什么被折叠?



