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

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

Войти
Регистрация
Восстановить пароль
 
Luzifer
 Аватар для Luzifer
6 / 6 / 2
Регистрация: 28.06.2010
Сообщений: 88
#1

istream_iterator - C++

27.03.2013, 10:54. Просмотров 645. Ответов 3
Метки нет (Все метки)

Каким образом итератор std::istream_iterator<int> ii(std::cin); определяет сколько строк надо вводить?
"for(int i = 0; i < (реагирует на изменение); i++)"

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "iostream"
#include <iterator>
#include <list>
#include <algorithm>
 
int main(int argc, char **argv)
{
    setlocale(LC_ALL, "Russian");
    std::istream_iterator<int> ii(std::cin);
    
    std::list<int> l1;
 
    for(int i = 0; i < 3; i++)
        l1.push_back(*ii++);
 
    std::list<int>::iterator it;
    for(it = l1.begin(); it != l1.end(); it++)
        std::cout << *it << " " << std::endl;
 
    std::cout << std::endl;
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2013, 10:54     istream_iterator
Посмотрите здесь:

istream_iterator C++
C++ STL, istream_iterator, в вектор считывается неверное количество символов
istream_iterator C++
Разница межу istream_iterator и istreambuf_iterator C++
C++ Как исправить код с istream_iterator?
Отличие istreambuf_iterator от istream_iterator C++
C++ Istream_iterator back_inserter
Visual studio и istream_iterator C++
Borland c++ 5.02 ругается на istream_iterator C++
Istringstream, istream_iterator C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4384 / 3227 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
27.03.2013, 11:03     istream_iterator #2
Цитата Сообщение от Luzifer Посмотреть сообщение
Каким образом итератор std::istream_iterator<int> ii(std::cin); определяет сколько строк надо вводить?
Нужно создать специальный итератор конца
C++
1
std::istream_iterator<int> eos;
и при чтении сравнивать его текущим. См. http://www.cplusplus.com/reference/i...ream_iterator/
SummerRain
 Аватар для SummerRain
326 / 325 / 17
Регистрация: 16.12.2012
Сообщений: 544
27.03.2013, 11:27     istream_iterator #3
по-моему это не то, о чём спрашивал автор.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <iterator>
#include <list>
#include <algorithm>
 
int main(int argc, char **argv)
{
    setlocale(LC_ALL, "Russian");
    std::istream_iterator<int> ii(std::cin);   // не тут он реагирует
    
    std::list<int> l1; 
    
    int a = *ii;  //  а тут
    int b = *++ii;  // и тут
    int c = a + b;
    l1.push_back(a);
    l1.push_back(b);
    l1.push_back(c);
 
    std::cout << std::endl;
 
    std::list<int>::iterator it;
    for(it = l1.begin(); it != l1.end(); it++)
        std::cout << *it << " " << std::endl;
 
    std::cout << std::endl;
    system("PAUSE");
    return 0;
}
Tulosba
:)
Эксперт С++
4384 / 3227 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
27.03.2013, 11:31     istream_iterator #4
Цитата Сообщение от SummerRain Посмотреть сообщение
по-моему это не то, о чём спрашивал автор.
Автор, о чем Вы спрашивали?
Yandex
Объявления
27.03.2013, 11:31     istream_iterator
Ответ Создать тему
Опции темы

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