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

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

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. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

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

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

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

Основные разделы работы участкового врача-педиатра Ведущей фигурой в организации внебольничной помощи детям является участковый врач-педиатр детской городской поликлиники...

Ученые, внесшие большой вклад в развитие науки биологии Краткая история развития биологии. Чарльз Дарвин (1809 -1882)- основной труд « О происхождении видов путем естественного отбора или Сохранение благоприятствующих пород в борьбе за жизнь»...

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