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



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

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

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

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

Гальванического элемента При контакте двух любых фаз на границе их раздела возникает двойной электрический слой (ДЭС), состоящий из равных по величине, но противоположных по знаку электрических зарядов...

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

Этапы трансляции и их характеристика Трансляция (от лат. translatio — перевод) — процесс синтеза белка из аминокислот на матрице информационной (матричной) РНК (иРНК...

Условия, необходимые для появления жизни История жизни и история Земли неотделимы друг от друга, так как именно в процессах развития нашей планеты как космического тела закладывались определенные физические и химические условия, необходимые для появления и развития жизни...

Метод архитекторов Этот метод является наиболее часто используемым и может применяться в трех модификациях: способ с двумя точками схода, способ с одной точкой схода, способ вертикальной плоскости и опущенного плана...

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