Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
лилиэн
6 / 6 / 5
Регистрация: 22.11.2012
Сообщений: 95
#1

Использование потоковых итераторов

05.06.2013, 17:14. Просмотров 374. Ответов 1
Метки нет (Все метки)

Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
#include<vector>
#include<algorithm>
#include<iterator>
using namespace std;
int main()
{
    vector<int> ints;
    copy(istream_iterator<int>(cin),istream_iterator<int>(),back_inserter(ints));
    sort(ints.begin(),ints.end());
    copy(ints.begin(),ints.end(),ostream_iterator<int>(cout,","));
    
    system("pause");
    return 1;
}
1)создала вектор
2)считываемые в стандартный поток данные через потоковый итератор записываю через
стандартный алгоритм в уже созданный вектор
3)сортирую
4)вывожу путем копирования в потоковый итератор

собственно в чем вопрос ... а он в этой строке:
C++
1
 copy(istream_iterator<int>(cin),istream_iterator<int>(),back_inserter(ints));
а еще точнее вот в этом кусочке
C++
1
istream_iterator<int>()
copy работает от итератора до итератора записывая от итератора до итератора... но что такое istream_iterator<int>() что оно значит в программе той что выше после запуска я воожу цифры через пробел но при нажатие enter ввод не прекращается а только после нажатия любой буквы... так что как это понять? какого условие остановки ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2013, 17:14
Ответы с готовыми решениями:

Использование потоковых манипуляторов в методах класса
Здравствуйте! Скажите, пожалуйста, почему не работают манипуляторы? ...

Использование итераторов
Добрый день, форум! Слышал что вместо того чтобы писать несколько перегрузок...

Иерархия потоковых классов. Небольшой пример нужен
Иерархия потоковых классов. Небольшой пример нужен.

Какие преимущества и недостатки потоковых операций ввода-вывода
Здравствуйте! Какие вы знаете преимущества и недостатки потоковых операций...

Зачем нужно возвращать ссылку на объекты потоковых типов?
В книжке Герберта Шилдта четко и ясно указано, что для того, чтобы перегружать...

1
DiffEreD
1442 / 779 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
05.06.2013, 17:34 #2
При вводе буквы cin станет в error и ввод прекратится, кроме того, можно вводить эмулятор EOF для остановки ввода - Ctrl+Z или Ctrl+D в зависимости от системы.

Добавлено через 50 секунд
В любой книге по С++ про istream_iterator подробно расписано.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2013, 17:34

Применение итераторов
Подскажите пожалуйста, в чем практичность итераторов, то бишь для чего нужны...

Перегрузка итераторов
Почему переполняется итератор vector&lt;char&gt;::iterator p = v.begin(); вот код :...

Конфликт итераторов
Доброго времени суток. Пишу Timsort с использованием шаблонов и итераторов....


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru