6.2.2 Предопределенный Смысл Операций

6.2.2 Предопределенный Смысл Операций

Относительно смысла операций, определяемых пользоватлем, не делается никаких предположений. В частности, посколку не предполагается, что перегруженное = реализует присваивание ее первому операнду, не делается никакой провеки, чтобы удостовериться, является ли этот операнд lvalue (#с.6).

Значения некоторых встроенных операций определены как равносильные определенным комбинациям других операций над тми же аргументами. Например, если a является int, то ++a оначает a+=1, что в свою очередь означает a=a+1. Такие соотншения для определяемых пользователем операций не выполняются, если только не случилось так, что пользователь сам определил их таким образом. Например, определение operator+= () для тпа complex не может быть выведено из определений complex::operator+() и complex::operator=().

По историческому совпадению операции = и amp; имеют опредленный смысл для объектов классов. Никакого элегантного спсоба «не определить» эти две операции не существует. Их моно, однако, сделать недееспособными для класса X. Можно, например, описать X::operator amp;(), не задав ее определения. Если где-либо будет браться адрес объекта класса X, то компновщик обнаружит отсутствие определения*. Или, другой способ, можно определить X::operator amp;() так, чтобы она вызывала ошику во время выполнения.

____________________ * В некоторых системах компоновщик настолько «умен», что ругается, даже если неопределена неиспользуемая функция. В таких системах этим методом воспользоваться нельзя. (прим атора)

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Предисловие Смысл жизни – 1 (секс, война, Linux)

Из книги автора

Предисловие Смысл жизни – 1 (секс, война, Linux) МЕСТО ДЕЙСТВИЯ: Большая Калифорнийская долина, федеральное шоссе номер пять; черный «Форд» последней модели несется на юг. В автомобиле – Линус и Туве Торвальдс, их дочки Патриция и Даниела, а также будущий соавтор этой книги.


Смысл жизни – 2

Из книги автора

Смысл жизни – 2 Вам случалось когда-нибудь в теплую летнюю ночь лежать, глядя на звезды, и думать, почему вы живете на свете? Каково ваше место в жизни и как следует жить дальше?Да, вот и мне не случалось.Тем не менее я выработал собственную теорию жизни, Вселенной и всего на


2.1. Слова, предложения и смысл

Из книги автора

2.1. Слова, предложения и смысл «Механизм восприятия образов обладает некоторыми недостатками, которые являются платой за его исключительно ценные качества. Два из них, видимо, наиболее важны: образ, в особенности зрительный, склонен к обособлению ситуаций, более чем это


R.8.2 Смысл описателей

Из книги автора

R.8.2 Смысл описателей Список описателей следует после (возможно пустого) списка спецификаций-описания (§R.7.1). Каждый описатель содержит в точности одно имя-из-описателя, которое задает описываемый идентификатор. Если не считать описаний некоторых специальных функций


12.4.2. Совмещение операций

Из книги автора

12.4.2. Совмещение операций В главе 5 сравнивались протоколы РОРЗ и IMAP для опроса удаленных почтовых серверов. При этом было отмечено, что IMAP-запросы (в отличие от РОРЗ-запросов) маркируются идентификатором запроса, сгенерированным клиентом. Сервер, отправляя обратно ответ,


Правило 50: Когда имеет смысл заменять new и delete

Из книги автора

Правило 50: Когда имеет смысл заменять new и delete Вернемся к основам. Прежде всего зачем кому-то может понадобиться подменять предлагаемые компилятором версии operator new и operator delete? Существуют, по крайней мере, три распространенные причины.• Чтобы обнаруживать ошибки


1. Смысл нормализации схем баз данных

Из книги автора

1. Смысл нормализации схем баз данных Понятие, которое мы будем рассматривать в данном разделе, связано с понятием функциональных зависимостей, т. е. смысл нормализации схем баз данных неразрывно связан с понятием ограничений, накладываемых системой функциональных


Приложение C. Коды завершения, имеющие предопределенный смысл

Из книги автора

Приложение C. Коды завершения, имеющие предопределенный смысл Таблица C-1. "Зарезервированные" коды завершения Код завершения Смысл Пример Примечание 1 разнообразные ошибки let "var1 = 1/0" различные ошибки, такие как "деление на ноль" и пр. 2 согласно документации к Bash --


8.4 Смысл описателей

Из книги автора

8.4 Смысл описателей Каждый описатель считается утверждением того, что если в выражении возникает конструкция, имеющаяя ту же форму, что и описатель, то она дает объект указанного типа и класса памти. Каждый описатель содержит ровно одно оп_имя; оно опредляет описываемый


1.5. Декларативный и процедурный смысл программ

Из книги автора

1.5. Декларативный и процедурный смысл программ До сих пор во всех наших примерах всегда можно было понять результаты работы программы, точно не зная, как система в действительности их нашла. Поэтому стоит различать два уровня смысла программы на Прологе, а


2.3. Декларативный смысл пролог-программ

Из книги автора

2.3. Декларативный смысл пролог-программ В главе 1 мы уже видели, что пролог-программу можно понимать по-разному: с декларативной и процедурной точек зрения. В этом и следующем разделах мы рассмотрим более формальное определение декларативного и процедурного смыслов


Ubuntu 11.10: есть ли смысл в тюнинге? Евгений Крестников

Из книги автора

Ubuntu 11.10: есть ли смысл в тюнинге? Евгений Крестников Опубликовано 31 октября 2011 года О планах Canonical по переводу Ubuntu на графическую оболочку Gnome 3 с модификацией Unity было известно давным-давно. Отсутствие в конфигурации по умолчанию прежней gnome-shell также


Идентификация, абстрагирование, смысл Юрий Гуськов

Из книги автора

Идентификация, абстрагирование, смысл Юрий Гуськов Опубликовано 12 августа 2010 года Орфография и пунктуация автора сохранены. Интернет — это большая свалка информации. Впрочем, не без попыток отсортировать и упорядочить. Но даже самые


Смысл наследования

Из книги автора

Смысл наследования Мы уже рассмотрели основные способы наследования. Многое еще предстоит изучить, в частности, множественное наследование и детали того, что происходит с утверждениями в контексте наследования (понятие субконтрактов).Но вначале следует поразмышлять


АНАЛИЗЫ: Здравый смысл vs. законодательство

Из книги автора

АНАЛИЗЫ: Здравый смысл vs. законодательство Не секрет, что представления наших с вами соотечественников о праве очень часто далеки от реальности — даже для таких «обыденных», казалось бы, отраслей, как уголовное или гражданское. Ну а «копирайт» демонизировать, как


Ubuntu 11.10: есть ли смысл в тюнинге?

Из книги автора

Ubuntu 11.10: есть ли смысл в тюнинге? Автор: Евгений КрестниковОпубликовано 31 октября 2011 годаО планах Canonical по переводу Ubuntu на графическую оболочку Gnome 3 с модификацией Unity было известно давным-давно. Отсутствие в конфигурации по умолчанию прежней gnome-shell также ожидаемо - свою