Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
stal_in
1 / 1 / 0
Регистрация: 22.03.2011
Сообщений: 56
#1

STL, vector. iterator. как работает? - C++

30.12.2013, 10:08. Просмотров 469. Ответов 1
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
    void invertArrange() //метод инвертирования порядка слов
            {
                            
  istringstream ist(operLine); //Превращаем строку в поток
  vector<string> v((istream_iterator<string>(ist)), istream_iterator<string>());  //видимо помещаем поток в вектор?
  copy(v.rbegin(), v.rend(), ostream_iterator<string>(cout, " ")); //копируем  в поток и выводим
}

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

Частично я понял к примеру, что здесь:
C++
1
copy(v.rbegin(), v.rend(), ostream_iterator<string>(cout, " "));
мы копируем, что-то в поток, по всей видимости слова(как именно, тоже не въехал), и выводим их, а за ними пробел.

Но как мы отделяем слова, что делает istream_iterator<string>(ist) и как работает vector, я не разобрался, помогите пожалуйста и не гоните в книжки, слишком заумно написано.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2013, 10:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос STL, vector. iterator. как работает? (C++):

STL vector iterator - C++
есть список в списке... ..точнее: vector &lt;Class1*&gt; mapClass1; а уже в Class1 определён вектор vector &lt;Class2*&gt; mapClass2; ...

Vector<MyStruct> - как првильно объявить iterator - C++
struct _1C { string Tag; string Rus; string Eng; _1C(const string &amp;Tag, const string &amp;Rus, const string &amp;Eng) : Tag(Tag),...

vector<T> template vector<T>::iterator - C++
Здраствуйте! При написании вектора столкнулся с проблемой такого рода: вот код вектора template &lt;typename T&gt; class vector { ...

Std::vector<std::pair<std::vector<int>::iterator, std::vector<int>::iterator> - C++
Вопрос по вектору. Допустим есть вектор, std::vector&lt;int&gt; vec; на каком - то этапе заполнения я ставлю закладку итератора, ...

STL List Iterator - C++
Как в STL list из итератора получить номер элемента, на который он указывает? Вот пример с вектором: cliext::vector&lt;int&gt;::iterator it; ...

Stl vector как массив - C++
Есть функция принимающая указатель на массив и его длину и копирующая его в другой массив определенный указателем. void SetMass(float...

1
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,545
Завершенные тесты: 3
30.12.2013, 10:22 #2
stal_in, Зачем тогда использовать если написано слишком заумно? Вектор - инкапсуляция работы с динамическим массивом. istringstream строковый поток. istream_iterator конструируется от потока, здесь используется конструктор вектора с двумя параметрами (range итераторов), первый конструируется от потока и при использовании оператора ++ (используется внутри конструктора вектора) считывается следующее значение, второй же представляет собой end итератор. После чего используя оператор *, значение извлекается из итератора и помещается внутрь вектора. istringstream при использовании вывода в строку считывает до пробела. В итоге в векторе оказываются слова, на которые разбито предложение, при удалении всех пробелов. После чего, мы копируем их в поток в обратном порядке, с помощью std::copy и ostream_iterator, в котором мы указываем в какой поток мы пишем и символ разделитель между значениями.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.12.2013, 10:22
Привет! Вот еще темы с ответами:

stl iterator обратный проход - C++
как делается ?

STL, что такое iterator? - C++
Взываю о помощи ко всему прогрессивному человечеству, Что это: vector&lt;float&gt;::iterator iter;

vector<pointer>::iterator - C++
В общем, есть некий родительский объект, в котором хранится динамический массив указателей на дочерние объекты. Требуется пройтись по всем...

Vector iterator not incrementable - C++
Здравствуйте. Подскажите, из-за чего не работает код? При запуске программы появляется ошибка: &quot;... expression: vector iterator not...


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

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

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