C++抽象声明
一个抽象声明为该标识符省略的声明。 (有关相关信息,请参见 类型名称 和 声明),而非抽象中声明用于对象或函数的声明,去除该标识符出只有该类型信息。 因此,抽象声明具有修改基类型的效果例如 char 指定复杂类型 (如指针 char 或个字符数组。 因此,它们始终使用与基类型名称的组合,并且仅使用指针,数组或在引用类型调用 (包括函数的指针返回此基类型)。 使用以下对应的抽象声明本节讨论:
一个抽象声明不声明名称 —的声明该标识符忽略。 例如,
char *
指定类型指针类型 char。 该类型名称包含该基类型名称 char 以及抽象声明 *。
同样,引用的抽象声明是 运算符,使用括号,并且,数组指定类型。 任何类型都可以通过应用语法为声明和移除该标识符指定。
char & // reference to char
char[5] // array of char
下面是该类型声明为指向函数采用两个参数,这两种类型 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;
typedef 说明符 能用于避免重复抽象声明缩写语法。