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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Wladius
12 / 7 / 2
Регистрация: 06.01.2013
Сообщений: 127
#1

Что происходит в этой строке? - C++

02.06.2013, 10:55. Просмотров 227. Ответов 4
Метки нет (Все метки)

C++
1
2
3
fstream IN(ordersName);
        int kit,nKit ;
        for (int i = 1;IN >> kit >> nKit; ++i) {
Вот это меня интересует что такое IN >> kit >> nKit

Добавлено через 33 минуты
up.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2013, 10:55     Что происходит в этой строке?
Посмотрите здесь:

C++ поясните что обозначает знак "?" в этой строке
C++ Перевод чисел в строку и прибавление к этой строке другой строки
А что происходит в памяти? C++
C++ Напечатать все слова-палиндромы,которые есть в этой строке
Удалить в этой строке s последние k элементов C++
Объясните, что происходит во второй строке цикла C++
C++ Разделить элементы k-й строки на диагональный элемент, расположенный в этой строке
C++ Дан двумерный массив. найти количество элементов в каждой строке, меньших диагонального в этой строке
Где в коде происходит замена максимального и минимально элемента в строке массива? C++
C++ Что происходит в цикле for?
Что происходит в строке кода C++
Найти длину максимальной подстроки, такой что в этой подстроке не существует подстроки равной какой-то строке C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6548 / 3968 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
02.06.2013, 11:02     Что происходит в этой строке? #2
считывание двух интов из потока,
Wladius
12 / 7 / 2
Регистрация: 06.01.2013
Сообщений: 127
02.06.2013, 11:07  [ТС]     Что происходит в этой строке? #3
Цитата Сообщение от Jupiter Посмотреть сообщение
считывание двух интов из потока,
То есть IN считывается сначала в 1 переменную потом во 2ую потом снова в 1ую (элементы поочередно заносятся) и это является аналогом условия "пока не конец файла" верно понял?
Jupiter
Каратель
Эксперт C++
6548 / 3968 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
02.06.2013, 11:11     Что происходит в этой строке? #4
да.
Buckstabue
 Аватар для Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
02.06.2013, 11:27     Что происходит в этой строке? #5
Лучше сказать так:
Строка вида
IN >> kit
Вызывает функцию с заголовком
istream& operator>> (istream&, int&);
Как мы видим этот оператор возвращает ссылку на istream (как правило, тот который и вызывался)
IN >> kit >> nKit равносилен (IN >> kit) >> nKit
А выражение (IN >> kit), как мы выяснили в прошлом шаге, есть объект istream, который возвратила функция istream& operator>> (istream&, int&);
Соответственно на данном шаге(после вызова) это равносильно IN >> nKit; эта функция точно также вызывает опять эту функцию с оператором и опять же возвращает поток istream = IN
В этот момент компилятор пытается привести IN к bool перменной(т.к. это условие продолжения цикла), а внутри класса fstream определен оператор приведения fstream к bool, который возвращает true в случае, если не достигнут конец файла, иначе false могу ошибаться
Yandex
Объявления
02.06.2013, 11:27     Что происходит в этой строке?
Ответ Создать тему
Опции темы

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