C++におけるexternの役割は何ですか?
C++において、externキーワードは変数や関数が他の場所で定義されており、現在のファイルでは定義されていないことを宣言するために使用されます。これによって、コンパイラにその変数や関数が他のファイルで定義されていることを伝え、リンク時にその定義が見つかるようにします。
具体的に言えば、externには以下のような役割があります:
- ファイル内でexternキーワードを使用してグローバル変数を宣言すると、その変数が他のファイルで定義されていることをコンパイラに伝え、現在のファイルで使用できるということになります。
- 他は、ファイル内でexternキーワードを使用してグローバル関数を宣言するとき、その関数が他のファイルで定義されており、現在のファイルで呼び出すことができることをコンパイラに伝えます。
- 外部変数の参照:関数内でexternキーワードを使用して外部変数を宣言すると、コンパイラにその変数が他のファイルで定義されており、現在の関数で使用できることを伝えることになります。
externは、単なる宣言であり、定義ではありません。コンパイラに変数や関数が存在することを伝えるだけで、メモリ領域は割り当てられません。そのため、extern宣言を使用する際には、変数や関数の定義が他の場所で提供される必要があります。