Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

R.7.1.3 Спецификация typedef





Описания со спецификацией typedef задают идентификаторы, которыепозднее могут использоваться для обозначения основных илипроизводных типов. Спецификация typedef недопустима в определении-функции($$R.8.3). имя-typedef: идентификаторВ пределах области видимости ($$R.3.2) описания typedef любойидентификатор, появляющийся в части любого из описателей,становится синтаксически эквивалентным служебному слову и обозначает тип,связанный с данным идентификатором, как описано в $$R.8. Таким образом,имя-typedef является синонимом другого типа. В отличие от описаниякласса ($$R.9.1) имя-typedef не добавляет нового типа. Например,после описания typedef int MILES, *KLICKSP; конструкции MILES distance; extern KLICKSP metricp; являются законными описаниями, тип distance есть int, а у metricpтип "указатель на int". С помощью typedef можно переопределить имя так, чтобы оно опятьобозначало тип, на который уже ссылалось, причем даже в той областивидимости, в которой тип был первоначально описан, например, typedef struct s { /*... */ } s; typedef int I; typedef int I; typedef I I; Безымянный класс, который определяется в typedef, получает вкачестве своего имени имя, использованное в typedef, например, typedef struct { /*.... */ } S; // имя структуры стало S С помощью описания typedef нельзя переопределить имя типа,описанного в этой же области видимости, так, чтобы оно обозначалодругой тип, например, class complex { /*... */ }; typedef int complex; // ошибка: переопределение Аналогично, нельзя описывать класс с именем типа, описанногов этой же области видимости, так, чтобы он обозначал другойтип, например, typedef int complex; class complex { /*... */ }; // ошибка: переопределение Имя-typedef, которое обозначает класс, является именем-класса($$R.9.1). Синоним нельзя использовать после следующих префиксов:class, struct и union, а также в именах конструкторов идеструкторов в описании самого класса, например, struct S { S(); ~S(); }; typedef struct S T; S a = T(); // нормально struct T* p; // ошибка







Дата добавления: 2015-09-04; просмотров: 324. Нарушение авторских прав; Мы поможем в написании вашей работы!




Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

Сравнительно-исторический метод в языкознании сравнительно-исторический метод в языкознании является одним из основных и представляет собой совокупность приёмов...

Концептуальные модели труда учителя В отечественной литературе существует несколько подходов к пониманию профессиональной деятельности учителя, которые, дополняя друг друга, расширяют психологическое представление об эффективности профессионального труда учителя...

Конституционно-правовые нормы, их особенности и виды Характеристика отрасли права немыслима без уяснения особенностей составляющих ее норм...

Лечебно-охранительный режим, его элементы и значение.   Терапевтическое воздействие на пациента подразумевает не только использование всех видов лечения, но и применение лечебно-охранительного режима – соблюдение условий поведения, способствующих выздоровлению...

Тема: Кинематика поступательного и вращательного движения. 1. Твердое тело начинает вращаться вокруг оси Z с угловой скоростью, проекция которой изменяется со временем 1. Твердое тело начинает вращаться вокруг оси Z с угловой скоростью...

Условия приобретения статуса индивидуального предпринимателя. В соответствии с п. 1 ст. 23 ГК РФ гражданин вправе заниматься предпринимательской деятельностью без образования юридического лица с момента государственной регистрации в качестве индивидуального предпринимателя. Каковы же условия такой регистрации и...

Studopedia.info - Студопедия - 2014-2026 год . (0.008 сек.) русская версия | украинская версия