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;() так, чтобы она вызывала ошику во время выполнения.
____________________ * В некоторых системах компоновщик настолько «умен», что ругается, даже если неопределена неиспользуемая функция. В таких системах этим методом воспользоваться нельзя. (прим атора)
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Предисловие Смысл жизни – 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 также ожидаемо - свою