Деклараторы рефераты C#
Абстрактный декларатор декларатор без идентификатора, состоять из одного или нескольких указатель массива или модификаторов функции.Модификатор указателя (*****идентификатор) всегда предшествует в деклараторе; массив ([]и функция () () модификаторы за идентификатором.)Знающ этого, можно определить, где идентификатор появляется в абстрактный декларатор и интерпретировался бы декларатор соответственно.См. Интерпретация более сложные деклараторы дополнительные сведения и примеры сложных деклараторов.Обычно typedef может использоваться для упрощения деклараторы.См. Объявлении Typedef.
Абстрактные деклараторы могут быть сложными.Круглые скобки в сложном абстрактном деклараторе определяют указанный интерпретация подобно тому, как они делают для сложных деклараторов в объявлениях.
Эти примеры иллюстрируют абстрактные деклараторы:
int * // The type name for a pointer to type int:
int *[3] // An array of three pointers to int
int (*) [5] // A pointer to an array of five int
int *() // A function with no parameter specification
// returning a pointer to int
// A pointer to a function taking no arguments and
// returning an int
int (*) ( void )
// An array of an unspecified number of constant pointers to
// functions each with one parameter that has type unsigned int
// and an unspecified number of other parameters returning an int
int (*const []) ( unsigned int, ... )
![]() |
---|
Абстрактный декларатор, состоящий из набора пустых скобок (), не допускается, так как он является неоднозначным.Невозможно определить принадлежность неявный идентификатор внутри скобок (в которого случаях неизмененным тип) или до скобки () в котором случаях тип функции. |