一个类内部和外部的静态关键字

vka*_*l11 6 c++ static

static关键字一般与内部链接有关,但是类中使用的static关键字有外部链接吗?下面的变量m,n可以在类文件外部访问.

class c {
    int i;
    int j;
    static int m;
    static int n;

    public:
    void zap();
    static void clear();
};
Run Code Online (Sandbox Code Playgroud)

Jon*_*ely 10

对.

关键字static严重超载,含义太多:

  • 在命名空间范围内的变量或函数上,它给出了名称内部链接.
  • 在类成员上,它使它成为静态成员,不会影响链接.
  • 上在功能范围的可变它给变量"静态存储持续时间",而不是"自动"或"动态"的存储持续时间(即变量的寿命延伸到节目的结束,如全局变量.)