После прохождения теста можно комментировать вопросы теста, а Ваши комментарии увидят модераторы теста и пользователи, которым когда-либо эти вопросы попадались.
←
→
←
→
|
ссылка
May 17 19:13
Комментарий от elirijndael: Полностью согласен с valid_name. |
|
ссылка
May 17 18:47
Комментарий от Aleksandr89: Неплохой тест. Для тех кто хочет ещё попрактиковатьс... |
|
ссылка
May 17 15:13
Комментарий от dpdpdp: Поменяйте радиокнопки на чекбоксы. Во втором варианте про... |
|
ссылка
May 17 11:55
Комментарий от Torredo812: вот это подвох!!! забываешь что х увеличился))и думае... |
|
ссылка
May 17 10:50
Комментарий от lesha1980: Хороший вопрос. Получается, что проверяется только x в... |
Тестов: 130, вопросов: 5791. Пройдено: 126748 / 526543.
Важную роль в STL играют итераторы потоков, которые делятся на итераторы потоков ввода и вывода. Практически итератор потока вывода используется для отображения данных на экране. Суть применения потоковых итераторов в том, что они превращают любой поток в итератор, используемый точно так же, как и прочие итераторы: перемещаясь по цепочке данных, считывает значения объектов и присваивает им другие значения. (Действуют по системе шаблона - подставляют("определяют") переменные в определенную конструкцию).
Итератор потока ввода — это удобный программный интерфейс, обеспечивающий доступ к любому потоку, из которого требуется считать данные. Конструктор итератора имеет единственный параметр — поток ввода. А поскольку итератор потока ввода представляет собой шаблон, то ему передается тип вводимых данных. Вообще-то должно передаваться четыре типа, но последние три имеют значения по умолчанию, и вряд ли вы решитесь их изменять прежде, чем досконально изучите STL. Каждый раз, когда нужно ввести очередной элемент информации, используйте оператор ++ точно так же, как с основными итераторами. Считанные данные можно узнать, если применить разыменовывание (*).
Итератор потока вывода весьма схож с итератором потока ввода, но у его конструктора имеется дополнительный параметр, которым указывают строку-разделитель, добавляемую в поток после каждого выведенного элемента. Ниже приведен пример программы, читающей из стандартного потока cin числа, вводимые пользователем и дублирующие их на экране, завершая сообщение строкой “ — new data“. Работа программы заканчивается, как только пользователь введет число 33:
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
int main() {
istream_iterator<int> is (cin);
ostream_iterator<int> os (cout, " — new data");
int input;
while ((input = *is) != 33) {
*os++ = input;
is++ ;
}
}
Потоковые итераторы имеют одно существенное ограничение — в них нельзя возвратиться к предыдущему элементу. Единственный способ сделать это - заново создать итератор потока.