![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 01.11.2011
Сообщений: 172
|
![]()
Всем привет!
Разбираюсь по книге с перегрузкой операций. Операция == объявлена в загноловочном файле как прототип, а реализация уже в классе. А вот операция != реализована в заголовочном файле и использует операцию ==. В книге написано, что это позволяет компилятору генерировать встроенные расширения operator !=, устарняя тем самым издержки на доп. вызовы функций. Не могли бы разъяснить что это значит. [ bool operator !=(const Array &right) const { return ! ( *this==right ) } ] Заранее благодарен.
Желание тысяча возможностей, нежелание - тысяча причин
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
![]()
this, используемый внутри функций класса является указателем на конкретный объект, который эту функцию использует в данный момент. Соответственно, *this - это сам объект.
Наконец, используем тот факт, что А != Б равносильно !(А == Б). Если *this (т.е. сам объект класса, левый аргумент) равен right (правый аргумент), возвращаем false, иначе - true.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 01.11.2011
Сообщений: 172
|
![]()
Уважаемый Гром, огромное спасибо Вам за ответ, мне понятен механизм работы метода, мне непонятно: В книге написано, что это позволяет компилятору генерировать встроенные расширения operator !=, устарняя тем самым издержки на доп. вызовы функций. Не могли бы разъяснить что это значит.
Заранее спасибо!
Желание тысяча возможностей, нежелание - тысяча причин
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
операция деления | genia | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 09.03.2011 06:02 |
С++. Операция atof | Blad47 | Помощь студентам | 5 | 17.10.2010 17:31 |
Операция в StringGrid | grafgrial | Общие вопросы Delphi | 8 | 09.10.2010 16:09 |
Операция Ы | SASHA50 | Microsoft Office Excel | 10 | 25.04.2008 12:38 |
Операция сдвига? | SkyDreamer | Общие вопросы C/C++ | 3 | 10.10.2007 08:20 |