外部
extern として宣言されたオブジェクトや変数を定義するオブジェクトを宣言します。外部リンケージを持つと別の翻訳単位または外側のスコープで。
extern のストレージ クラスとの 定数 変数の宣言は外部リンケージを持つため変数に変換します。 外部定数 の変数の初期化が定義の翻訳単位では使用できません。定義の翻訳単位以外の翻訳単位の初期化が未定義の結果を生成します。
次のコードは外側のスコープで定義された名前を表示するのかを extern) の 2 種類の宣言を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;
}
}