静态函数的作用域不同于非静态成员函数,它可以在没有对象的情况下调用并访问成员变量和非成员变量:1. 只能访问以 static 声明的成员变量;2. 可以访问全局变量或其他命名空间中的变量。
C++ 静态函数的作用域
静态函数的作用域与非静态成员函数不同。它既可以访问成员变量,也可以访问非成员变量,并且可以在没有对象的情况下进行调用。
成员变量的访问
静态函数中只能访问带有 static 关键字声明的成员变量。默认情况下,成员变量是非静态的,不能在静态函数中访问。
非成员变量的访问
静态函数还可以访问全局变量或其他命名空间中的变量。
实例
以下是一个带静态函数的示例类:
class Example {
public:
static int x; // 静态成员变量
static void print_x() {
std::cout << x << std::endl;
}
};
int Example::x = 10; // 静态成员变量的定义
int main() {
Example::print_x(); // 可以直接调用静态函数
return 0;
}




