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

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

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




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


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


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


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

Сосудистый шов (ручной Карреля, механический шов). Операции при ранениях крупных сосудов 1912 г., Каррель – впервые предложил методику сосудистого шва. Сосудистый шов применяется для восстановления магистрального кровотока при лечении...

Трамадол (Маброн, Плазадол, Трамал, Трамалин) Групповая принадлежность · Наркотический анальгетик со смешанным механизмом действия, агонист опиоидных рецепторов...

Мелоксикам (Мовалис) Групповая принадлежность · Нестероидное противовоспалительное средство, преимущественно селективный обратимый ингибитор циклооксигеназы (ЦОГ-2)...

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

ТЕОРИЯ ЗАЩИТНЫХ МЕХАНИЗМОВ ЛИЧНОСТИ В современной психологической литературе встречаются различные термины, касающиеся феноменов защиты...

Этические проблемы проведения экспериментов на человеке и животных В настоящее время четко определены новые подходы и требования к биомедицинским исследованиям...

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