静态存储类说明符

静态存储类说明符 staticextern 可应用于对象和函数。 下表显示了可使用关键字 static 和 extern 的位置以及不能使用二者的位置。

static 和 extern 的使用

构造

是否可使用 static

是否可使用 extern

块内的函数声明

函数的形参

块中的对象

块外的对象

函数

类成员函数

类成员数据

typedef 名称

使用 static 关键字指定的名称具有内部链接,以及拥有外部链接的类的静态成员。 也就是说,它在当前翻译单元的外部是不可见的。 使用 extern 关键字指定的名称拥有外部链接,除非先前定义为拥有内部链接。 有关名称可见性的详细信息,请参阅范围以及程序和链接

备注

声明为“内联”且不是类成员函数的函数将获得与声明为“静态”的函数相同的链接特性。

编译器尚未遇到其声明的类名称可用于 extern 声明中。 在遇到此类声明之前,无法使用通过此声明引入的名称。

请参见

参考

存储类说明符