プロトタイプ宣言 |
辞書:電算用語の基礎知識 プログラミング仕様編 (PTPROGS) |
読み:ぷろとたいぷせんげん |
品詞:名詞 |
|
概要 |
C/C++は、ソースコードの上から下へ順番に見て、既出の関数しか呼ぶことができない。このため、関数を呼ぶときは、それ以前に関数を定義するか、このプロトタイプ宣言で宣言をしておく必要がある。
Cの場合は、呼び出す順番と関数を書く場所を配慮すれば、必ずしもプロトタイプ宣言は必要ではないが、記述しておくと、コンパイル時に関数の呼び出しと定義が違う場合に警告が出るため、バグの混在をある程度予防することができる。
C++もクラスを使わない場合は同様である。クラス関数は必ずclass定義内で定義する必要があるが、その記述方法はCのプロトタイプ宣言に似ている。
なお、類似の言語でJavaの場合、メソッドはクラス内のどこに記述してあっても認識され、呼び出すことができる。従って、C/C++のようなプロトタイプ宣言は必要がない。
特徴 |
記述方法 |
CとC++は似ているが、C++ではより便利に改良されている。
C/C++問わず、一般的には実際のソースリストと分離して、ヘッダーファイルとして書かれることが多い。
C |
関数名と、戻り値および引数の型を記述する。
int func1(int);
const long func2(const char *, int);
戻り値および引数の型には様々な修飾が可能。
引数が複数ある場合は関数の定義と同様にカンマで区切る。関数の定義のように変数名まで書いても良いが、プロトタイプ宣言では変数名は省略できる。
引数が無い場合は、voidを明示して宣言する。
int func3(void);
C++ |
C++の場合も基本的な書式は同じであるが、一部異なる点や拡張された点がある。
int func4();
int func5(bool = true);
int func5() { ... }
int main() {
func5();
func5(false);
}
リンク |
通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022) Search System : Copyright © Mirai corporation Dictionary : Copyright © WDIC Creators club |