C++ の抽象宣言子
抽象宣言は識別子を省略して宣言されます。非抽象型の宣言がオブジェクトまたは関数の宣言の中で使用すると関連 (詳細については型名 と 宣言 を参照)識別子を削除するには型情報提供します。したがって抽象的な宣言は焦げるへのポインターまたは文字の配列などより複雑な型を指定する必要が char などの基本データ型を変更します。したがって基本型の名前と組み合わせて常に使用され配列ポインターまたは参照型にのみ呼び出すようにして機能するときに使用され (ポインターを含むその基本型を返します)。次に対応する抽象的な宣言はこのセクションで説明します :
抽象宣言は名前が宣言されていない宣言です。識別子は省かれます。次に例を示します。
char *
型のポインターを char を入力するように指定します。型名は抽象と宣言 *。基本型の名前 char で構成されます。
また参照の抽象宣言は演算子 で配列型はかっこを使用して指定されます。オブジェクト型 () を宣言の構文だけに適用され識別子を削除することによって指定できます。
char & // reference to char
char[5] // array of char
次に 2 個の引数を受け取り型 char * の両方が戻り char * を入力する関数の型のポインターを宣言する抽象宣言の複雑な使用法です :
char * (*)( char *, char * )
基本データ型指定子と組み合わせて抽象宣言は完全に型を宣言します。抽象宣言から構築された型名が呼び出されるのは任意の型を使用する可能性があります :
// Get the size of array of 10 pointers to type char.
size_t nSize = sizeof( char *[10] );
// cast fptr to pointer to function that takes two arguments, both of type
// pointer to char
i = (char * (*)(char*, char*)) fptr;
抽象的複雑な宣言の構文の繰り返しを回避するに 型定義の指定子 に使用することがあります。