|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
Уточняющий вопрос: почему при перегрузке оператора [] необходимо возвращать ссылку?16.05.2011, 16:17. Показов 1835. Ответов 5
Метки нет (Все метки)
Сабж.
Ну, то есть есть класс, что-то такое:
Я так подумал- мы ничё во втором случае не выиграем. Итак, возвращаем ссылку. Размер тот же, что у int, да плюс ко всему её ещё и разыменовывать надо; двойная работа. А int вернул и получил готовое значение. А если компилятор трактует возврат ссылки как СРАЗУ возврат значения, опять ничё не выигрываем, что так возвратится int, что эдак. Правильно я думаю?
0
|
||||||
| 16.05.2011, 16:17 | |
|
Ответы с готовыми решениями:
5
Зачем при перегрузке оператора >> в параметр включать ссылку на объект, а не сам объект? Почему перегруженный оператор = должен возвращать ссылку на объект |
|
|
|
| 16.05.2011, 16:20 | |
|
возвращенный по ссылке элемент можно редактировать, при этом редактирование отразится в объекте класса, если возвращать по значению, то будет предоставлена только копия, т.е. будет только для чтения.
1
|
|
|
Freelance
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
|
||
| 16.05.2011, 16:21 | ||
|
1
|
||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 16.05.2011, 18:39 | |
|
Ничего необходимого тут нет. Только если нужно изменять. Для константной версии оператора ссылка нафиг не нужна
1
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 16.05.2011, 20:26 | |
|
ForEveR, ну тут всё, опять же, зависит от того, что хранится в контейнере. Если контейнер шаблонный, лучше всё же возвращать ссылку, ибо при инстанцировании в качестве типа может быть указан другой класс, объекты которого могут быть довольно громоздкими, чтобы возвращать их по значению, а не по ссылке.
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 16.05.2011, 21:24 | |
|
silent_1991, Ну да. Соглашусь.
0
|
|
| 16.05.2011, 21:24 | |
|
Помогаю со студенческими работами здесь
6
Ошибка при перегрузке оператора <<
Ошибки при перегрузке оператора <<
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|