指向靜態成員變數的指標

static 成員變數就像普通的 C / C++變數一樣,除了作用域:

  • 它在 class 裡面,所以它需要用類名裝飾它的名字;
  • 它有可訪問性,publicprotectedprivate

因此,如果你可以訪問 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()