Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/55: Рейтинг темы: голосов - 55, средняя оценка - 4.91
 Аватар для ship79
3 / 3 / 0
Регистрация: 15.12.2013
Сообщений: 155

Что такое istream и с чем его едят?

21.11.2016, 18:30. Показов 10406. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
здравствуйте. у меня такой вопрос , делаем лабы с перечислениями и структурами и в них появилось istream operator. пытался почитать книжки, не понял объяснения, хотелось бы простого объяснения о том, что это и для чего. заранее спасибо
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
enum Sex
{
    Male, Female
};
 
 
istream& operator >> (istream& is, Sex& i)
{
    int tmp;
    if (is >> tmp)
        i = static_cast<Sex>(tmp);
    return is;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.11.2016, 18:30
Ответы с готовыми решениями:

что такое Qt, и с чем его едят?
Здравствуйте, я бы хотел узнать что такое Qt, и как на нем программировать, я слышал что это дополнение к С++, тогда вопросы: - что это...

Что такое This и с чем его едят
Доброго дня/ночи Вот пытаюсь выкурить мануалы по теме &quot;this&quot;. Прочитал надцать листов литературы, но так особо не могу понять - this...

Что такое assoc и с чем его едят?
Объясните, пожаалуйста)

6
 Аватар для Paraponera
11 / 10 / 8
Регистрация: 22.04.2015
Сообщений: 43
21.11.2016, 18:35
C++
1
istream& operator>>() {}
это перегрузка оператора ">>"
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.11.2016, 19:27
Цитата Сообщение от ship79 Посмотреть сообщение
istream&
Поток считывания.
В вашем примере перегружается operator>> для считывания с потока. Функция принимает ссылку на поток istream и ссылку на объект, считывает с потока и возвращает ссылку на поток.
Таким образом, мы учим компилятор считывать с потока в переменную типа Sex (также как он это уже умеет делать со стандартными типами вроде int)
0
 Аватар для ship79
3 / 3 / 0
Регистрация: 15.12.2013
Сообщений: 155
22.11.2016, 10:11  [ТС]
Цитата Сообщение от MrGluck Посмотреть сообщение
Таким образом, мы учим компилятор считывать с потока в переменную типа Sex (также как он это уже умеет делать со стандартными типами вроде int)
это потому что мы сами создали этот тип и поэтому должны объяснить компилятору, как с ним работать, так примерно ?

и еще можете разъяснить, что происходит на каждом шаге , что за переменная tmp, что делает static_cast?
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
22.11.2016, 10:21
Считывается int сначала, вот для него и tmp, а static_cast преобразует int в enum.
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
22.11.2016, 10:55
Цитата Сообщение от ship79 Посмотреть сообщение
так примерно ?
Примерно так
0
 Аватар для ship79
3 / 3 / 0
Регистрация: 15.12.2013
Сообщений: 155
27.11.2016, 08:19  [ТС]
Цитата Сообщение от nmcf Посмотреть сообщение
Считывается int сначала, вот для него и tmp, а static_cast преобразует int в enum.
ооо, вот оно как , вот теперь более ясно , спасибо )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.11.2016, 08:19
Помогаю со студенческими работами здесь

Модуль: что такое и с чем его едят?
есть задание: что есть модуль, как он создается и как подключается? предполагаю, что это обыкновенный .cpp-файл,- я прав? в таком...

Что такое Класс, и с чем его едят?
собственно это я бы и хотел знать. попытался воспринять самостоятельно - не получилось. прошу, подскажите, кто знает, в каких книгах можно...

Объясните что такое массив объединений и с чем его едят
Написать программу удаления заданного числового значения из массива объединений. Объясните что такое массив объединений и с чем его...

Класс-контейнер? Что это такое и с чем его «едят»?
Вечер добрый, столкнулся со следующей проблемой, в общем, есть задание: Создать класс-контейнер, который является абстракцией текста и...

Нюансы использования оператора запятая или что такое UB и с чем его едят
Почему студия и ideone выдают разные значения для a и b? в студии выходит a = 10 , b = 10 в ideone a = 20, b =10 #include...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
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
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru