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



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

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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

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

Ученые, внесшие большой вклад в развитие науки биологии Краткая история развития биологии. Чарльз Дарвин (1809 -1882)- основной труд « О происхождении видов путем естественного отбора или Сохранение благоприятствующих пород в борьбе за жизнь»...

Анализ микросреды предприятия Анализ микросреды направлен на анализ состояния тех со­ставляющих внешней среды, с которыми предприятие нахо­дится в непосредственном взаимодействии...

Типы конфликтных личностей (Дж. Скотт) Дж. Г. Скотт опирается на типологию Р. М. Брансом, но дополняет её. Они убеждены в своей абсолютной правоте и хотят, чтобы...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

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