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

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

R.7.1.6 Спецификация типа





К спецификации типа относятся: спецификация-типа: имя-простого-типа спецификация-класса спецификация-перечисления спецификация-сложного-типа:: имя-класса const volatile При описании объекта служебные слова const и volatile можно добавитьк любой законной спецификации-типа. Во всех других случаях в описанииможет присутствовать не более одной спецификации-типа. Объект соспецификацией const можно инициализировать, но его значение недолжно изменяться в дальнейшем. Объект со спецификацией const, еслитолько он не был явно описан как extern, не подлежит внешнемусвязыванию и должен инициализироваться ($$R.8.4, $$R.12.1). Целоесо спецификацией const, инициализированное выражением-константой,может использоваться в выражении-константе ($$R.5.19). Каждыйэлемент массива со спецификацией const имеет ту же спецификацию,а каждый нестатический член, не являющийся функцией, из объекта классасо спецификацией const сам считается const ($$R.9.3.1). Объект типабез конструктора или деструктора, который имеет спецификацию const,может быть помещен в память, доступную только по чтению. Попытказаписи в любую часть такого объекта или приведет к особой адреснойситуации, или пройдет бесследно, как если бы объект не имелспецификации const. Не существует не зависящего от реализации объяснения объектов соспецификацией volatile. Она служит подсказкой транслятору избегатьслишком активной оптимизации, связанной с этим объектом, посколькузначение объекта может изменяться способами, скрытыми оттранслятора. Каждый элемент массива со спецификацией volatileимеет ту же спецификацию и каждый нестатический член, не являющийсяфункцией, из объекта класса со спецификацией volatile сам считаетсяvolatile ($$R.9.3.1). Если спецификация-типа отсутствует в описании, она считаетсязаданной как int. имя-простого-типа: полное-имя-класса уточненное-имя-типа char short int long signed unsigned float double void Вместе с int нельзя задавать более одного служебного слова longили short. Они могут использоваться и поодиночке, тогда считается,что тип есть int. Служебное слово long может появиться вместе сdouble. Вместе с char, short, int или long нельзя задавать болееодного служебного слова signed или unsigned. Они могутиспользоваться и поодиночке, тогда считается, что тип есть int.Спецификация signed указывает, что объекты типа char и битовыеполя являются знаковыми, для других целочисленных типов этаспецификация избыточна. Конструкции спецификация-класса и спецификация-перечисленияопределяются в $$R.9 и $$R.7.2 соответственно. спецификация-сложного-типа: служебное-слово-класса имя-класса служебное-слово-класса идентификатор служебное-слово-класса: class struct union Если задан идентификатор, спецификация-сложного-типа описываетего как имя-класса (см. $$R.9.1). Если определено имя, которое описывается с помощью спецификацииunion, то оно должно быть определено как объединение. Если определеноимя, которое описывается с помощью спецификации class, то оно должнобыть определено с помощью спецификаций class или struct. Еслиопределено имя, которое описывается с помощью спецификации struct,оно должно быть определено с помощью спецификации class илиstruct. Имена вложенных типов ($$R.9.7) должны уточняться именемобъемлющего класса: уточненное-имя-типа: имя-typedef имя-класса:: уточненное-имя-типа полное-имя-класса: уточненное-имя-класса:: уточненное-имя-класса уточненное-имя-класса: имя-класса имя-класса:: уточненное-имя-класса Имя, уточненное именем-класса должно быть типом, определенным вэтом классе или в базовом классе этого класса. Как обычно, имя,описанное в производном классе, делает невидимыми члены с этимименем из базовых классов (см. $$R.3.2).







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




Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...


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


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


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

ТЕРМОДИНАМИКА БИОЛОГИЧЕСКИХ СИСТЕМ. 1. Особенности термодинамического метода изучения биологических систем. Основные понятия термодинамики. Термодинамикой называется раздел физики...

Травматическая окклюзия и ее клинические признаки При пародонтите и парадонтозе резистентность тканей пародонта падает...

Подкожное введение сывороток по методу Безредки. С целью предупреждения развития анафилактического шока и других аллергических реак­ций при введении иммунных сывороток используют метод Безредки для определения реакции больного на введение сыворотки...

ПУНКЦИЯ И КАТЕТЕРИЗАЦИЯ ПОДКЛЮЧИЧНОЙ ВЕНЫ   Пункцию и катетеризацию подключичной вены обычно производит хирург или анестезиолог, иногда — специально обученный терапевт...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

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