Студопедия — R.7.1.6 Спецификация типа
Студопедия Главная Случайная страница Обратная связь

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

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



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

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

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

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

ФАКТОРЫ, ВЛИЯЮЩИЕ НА ИЗНОС ДЕТАЛЕЙ, И МЕТОДЫ СНИЖЕНИИ СКОРОСТИ ИЗНАШИВАНИЯ Кроме названных причин разрушений и износов, знание которых можно использовать в системе технического обслуживания и ремонта машин для повышения их долговечности, немаловажное значение имеют знания о причинах разрушения деталей в результате старения...

Йодометрия. Характеристика метода Метод йодометрии основан на ОВ-реакциях, связанных с превращением I2 в ионы I- и обратно...

Броматометрия и бромометрия Броматометрический метод основан на окислении вос­становителей броматом калия в кислой среде...

Метод Фольгарда (роданометрия или тиоцианатометрия) Метод Фольгарда основан на применении в качестве осадителя титрованного раствора, содержащего роданид-ионы SCN...

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