Форум программистов, компьютерный форум CyberForum.ru

Зачем "&" в "ostream& operator<<"? - C++

Восстановить пароль Регистрация
 
Blitzor DDD
12 / 12 / 1
Регистрация: 17.08.2015
Сообщений: 439
01.08.2016, 16:32     Зачем "&" в "ostream& operator<<"? #1
Здарова.

Я представляю, что такое перегрузка операций, но вот наткнулся на непонятный синтаксис.

C++ (Qt)
1
2
3
4
5
6
7
8
enum Months{
    Jan=1, Feb, Mar, Apr, May, Jul, Aug, Sep, Oct, Nov, Dec
};
 
       vector<string> month_tbl1;
       ostream& operator<<(ostream& os, Months m){
       return os<<month_tbl1[m];
}
C++ (Qt)
1
ostream& operator<<(ostream& os, Months m)
Перегружаем <<, а зачем перед operator &?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2016, 16:32     Зачем "&" в "ostream& operator<<"?
Посмотрите здесь:

ostream C++
C++ friend ostream &operator<<(ostream &stream, MyClass o);
C++ Шаблоны классов, перегрузка operator<< класса ostream
Класс ostream C++
C++ Наследование ostream
Состояние ostream C++
Шаблонный ostream C++
Перегрузить операторы operator+() и operator*() в пользовательском классе "Комплексное число" C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HelicopterK52
633 / 176 / 28
Регистрация: 27.07.2016
Сообщений: 475
Завершенные тесты: 1
01.08.2016, 16:33     Зачем "&" в "ostream& operator<<"? #2
Цитата Сообщение от Blitzor DDD Посмотреть сообщение
Перегружаем <<, а зачем перед operator &?
Уберите, узнаете. Разве это так сложно?
Ferrari F1
Заблокирован
295 / 281 / 61
Регистрация: 27.01.2015
Сообщений: 1,888
Записей в блоге: 1
Завершенные тесты: 1
01.08.2016, 16:38     Зачем "&" в "ostream& operator<<"? #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Blitzor DDD,
ostream& operator<<(ostream& os, Months m)
возврат ссылки

Если без амперсанда, то возникала бы ошибка - потоковые объекты нельзя ни копировать, ни присваивать.
Yandex
Объявления
01.08.2016, 16:38     Зачем "&" в "ostream& operator<<"?
Ответ Создать тему
Опции темы

Текущее время: 01:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru