指向静态成员变量的指针
static
成员变量就像普通的 C / C++变量一样,除了作用域:
- 它在
class
里面,所以它需要用类名装饰它的名字; - 它有可访问性,
public
,protected
或private
。
因此,如果你可以访问 static
成员变量并正确装饰它,那么你可以像 class
之外的任何正常变量一样指向变量:
class Class {
public:
static int i;
}; // Class
int Class::i = 1; // Define the value of i (and where it's stored!)
int j = 2; // Just another global variable
int main() {
int k = 3; // Local variable
int *p;
p = &k; // Point to k
*p = 2; // Modify it
p = &j; // Point to j
*p = 3; // Modify it
p = &Class::i; // Point to Class::i
*p = 4; // Modify it
} // main()