Поделиться через


Деклараторы рефераты C++

Абстрактный декларатор декларатор в котором идентификатор не указан.(Дополнительные сведения см. в разделе Введите имена и деклараторыДеклараторы неабстрактных) при использовании в объявлении объектов и функций, удаления за пределами идентификатор оставляет только сведения о типе.Таким образом, абстрактные деклараторы влияют изменения базовый тип char указать более сложного типа в качестве указателя, чтобы создать или массив 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; 

описатель typedef может использоваться, чтобы избежать повторных громоздкий синтаксис абстрактных деклараторов.

См. также

Ссылки

Деклараторы