前方宣言 【forward declaration】
概要
前方宣言(forward declaration)とは、プログラム上に現れる変数名や関数名などのシンボルについて、その完全な定義を記述する前に名前やデータ型などの宣言だけを行うこと。C言語のプロトタイプ宣言(関数プロトタイプ)などが該当する。例えば、プログラム冒頭に「int func(int);」のような宣言のみで実装のない関数定義を書いておくことで、言語処理系は「このプログラムには整数型の引数を取り整数を返すfuncという関数が登場する」ことを知ることができ、func関数を呼び出すコードを適切に処理することができる。
この宣言だけではfunc関数の具体的な処理内容は不明であるため、どこかの時点で処理を定義するコードを記述する必要がある。前方宣言が可能な言語では、関数だけでなく変数やデータ構造(コレクション)などを初期化コードを伴わずに宣言することができる。
実装と分離して宣言のみを記述できるため、実装がライブラリなど実行コードの形で提供される場合でも、クラスや関数、定数などの宣言のみを記述したファイルを読み込ませることで実装を呼び出すプログラムを作成することができる。C言語やC++言語では前方宣言だけを記述した「ヘッダファイル」(.hファイル)がよく用いられる。
(2024.3.20更新)