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

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

R.5.17 Операции присваивания






Существует несколько операций присваивания, все они выполняютсясправа налево. Для всех них требуется, чтобы левым операндом былизменяемый адрес. Тип выражения присваивания совпадает с типомлевого операнда. Результат операции присваивание - значение,хранящееся в левом операнде после того как произошло присваивание.Результат является адресом. выражение-присваивания: выражение-условия унарное-выражение операция-присваивания выражение-присваивания операция-присваивания: один из = *= /= %= += -= >>= <<= &= ^= |= При простом присваивании (=) значение выражения заменяет собой значениеобъекта, с которым сопоставляется левый операнд. Если оба операндаарифметического типа, правый операнд, прежде чем произойдетприсваивание, преобразуется к типу левого операнда. Неявныепреобразования к типу перечисления ($$R.7.2) не производятся, поэтомуесли левый операнд имеет тип перечисления, правый операнд долженбыть таким же. Если левый операнд имеет тип указателя, правыйоперанд должен быть типа указателя или выражением-константой, дающимрезультат 0. Правый операнд преобразуется к типу левого операнда,прежде выполнения присваивания. Указатель типа T* const можно присваивать указателю типа T*, нообратное присваивание считается незаконным ($$R.7.1.6). Объектытипа const T или volatile T можно присваивать по адресу типа T илиvolatile T (см. так же $$R.8.4). Если левый операнд имеет тип указателя на член, правый операнддолжен быть типа указатель на член или выражением-константой,дающим результат 0; перед присваиванием правый операнд преобразуетсяк типу левого операнда. Присваивание объектам класса X ($$R.9) задается функциейX::operator=() ($$R.13.4.3). Если пользователь не определилсвою функцию X::operator=(), для присваивания используетсястандартный вариант ($$R.12.8). Отсюда следует, что объект класса,который является прямым или непрямым производным от X, иоднозначно описан как производный в части public ($$R.4.6),можно присвоить объекту X. Указатель на член класса B можно присваивать указателю на члентого же типа класса D при условии, что D является прямым илинепрямым производным класса B, и однозначно описан какпроизводный в части public ($$R.10.1.1). Присваивание объекту типа "ссылка на T" сводится к присваиваниюобъекту типа T, который обозначается ссылкой. Выполнение выражение вида E1 op= E2 эквивалентно выполнениюE1 = E1 op (E2), однако E1 вычисляется лишь один раз. В операциях+= и -= левый операнд может быть указателем, в этом случае правый(целочисленный) операнд преобразуется так, как объяснялось в $$R.5.7.Все правые операнды и все левые операнды, не являющиеся ссылками,должны быть арифметического типа. Для объектов класса присваивание в общем случае не совпадает синициализацией ($$R.8.4, $$R.12.1, $$R.12.6, $$R.12.8).







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



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

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

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

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

Машины и механизмы для нарезки овощей В зависимости от назначения овощерезательные машины подразделяются на две группы: машины для нарезки сырых и вареных овощей...

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

Именные части речи, их общие и отличительные признаки Именные части речи в русском языке — это имя существительное, имя прилагательное, имя числительное, местоимение...

Задержки и неисправности пистолета Макарова 1.Что может произойти при стрельбе из пистолета, если загрязнятся пазы на рамке...

Вопрос. Отличие деятельности человека от поведения животных главные отличия деятельности человека от активности животных сводятся к следующему: 1...

Расчет концентрации титрованных растворов с помощью поправочного коэффициента При выполнении серийных анализов ГОСТ или ведомственная инструкция обычно предусматривают применение раствора заданной концентрации или заданного титра...

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