Деклараторы рефераты 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 может использоваться, чтобы избежать повторных громоздкий синтаксис абстрактных деклараторов.