externキーワード。外部リンケージを持つ名前を、別の翻訳単位から参照するための宣言(C++)に用いられる。
特に、外部変数を定義せずに宣言だけしたいときに使う。
// a.cpp
int g_value{ 42 }; // 定義
// b.cpp
extern int g_value; // 宣言
int main()
{
return g_value;
}変数では、extern付きの宣言だけでは定義(C++)にならないため、どこか1か所に定義が必要。
関数宣言は通常 extern を明示しなくても外部リンケージを持つため、変数ほどは書かれない。