HOWTO · C++

C++ で extern キーワードを理解する

この記事では、extern キーワード、外部変数と関数の構文、およびそれらの使用法を紹介します。

この記事では、C++ の extern キーワード、外部変数と関数の構文、およびこのキーワードの使用方法を紹介します。

C++ の extern キーワード

キーワード extern は、外部変数またはグローバル変数と外部関数を示します。このキーワードは、変数が多くのソースファイルでグローバルであることをコンパイラに通知します。

extern キーワードは、複数のソースファイルを 1つのプログラムとして結合(リンク)する場合に非常に便利です。

外部変数は、ヘッダーファイルの直後に main 関数の外部で宣言されます。外部変数のスコープはグローバルであり、その存続期間は静的変数と同等です(つまり、存続期間はプログラムの存続期間と同じです)。

C++ での外部変数と外部関数の構文

外部変数と外部関数は、次の構文を使用して宣言できます。

外部変数の構文:

extern datatype variable_name;
Example : extern int a = 40;

外部関数の構文:

extern datatype function_name();
Example : extern int add();

例:

次のコードを持つ first.cppsecond.cpp の 2つのソースファイルがあるとします。

"first.cpp" Int a = 40;
Int b = 50;
Void add();
Int main() {
  add();
  return 0;
}
"Second.cpp" extern int a;
extern int b;
Void add() { a + b; }

上記の例では、変数 abfirst.cpp で定義されています。次に、second.cpp でこれらの変数の両方を利用するには、両方を宣言する必要があります。

C++ で extern キーワードを使用する利点

C++ プログラムで extern キーワードを使用する利点は次のとおりです。

  • extern キーワードは、外部変数の存在と、別の変換ユニットまたはソースファイルでのそれらの潜在的な使用についてコンパイラに通知します。
  • 変数と関数の可視性を高めます。
  • このキーワードを使用すると、シンボルの重複エラーなどのエラーを簡単に理解できます。
  • 読みやすさを向上させるために、最新のリンカーには extern キーワードを使用しています。
  • コードのメンテナンスになります。