外部
作为 extern 和变量声明的对象声明定义在另一个翻译单元或在封闭范围作为有外部链接的对象。
const 变量的声明与 extern 存储类中强制该变量有外部链接。外部 const 变量的初始化在定义的翻译单元允许的。在翻译单元的初始化除了定义的翻译单元外导致未定义的结果。
以下代码显示了两个 extern 说明, DefinedElsewhere (哪些引用在不同的翻译单元定义的名称) 和 DefinedHere (哪些引用在封闭范围内定义的名称):
// external.cpp
// defined in another translation unit
extern int DefinedElsewhere;
int main() {
int DefinedHere;
{
// refers to DefinedHere in the enclosing scope
extern int DefinedHere;
}
}