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

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

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




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


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


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


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

Пункты решения командира взвода на организацию боя. уяснение полученной задачи; оценка обстановки; принятие решения; проведение рекогносцировки; отдача боевого приказа; организация взаимодействия...

Что такое пропорции? Это соотношение частей целого между собой. Что может являться частями в образе или в луке...

Растягивание костей и хрящей. Данные способы применимы в случае закрытых зон роста. Врачи-хирурги выяснили...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

Опухоли яичников в детском и подростковом возрасте Опухоли яичников занимают первое место в структуре опухолей половой системы у девочек и встречаются в возрасте 10 – 16 лет и в период полового созревания...

Способы тактических действий при проведении специальных операций Специальные операции проводятся с применением следующих основных тактических способов действий: охрана...

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