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

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

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

Итератор - C++

14.10.2011, 23:44. Просмотров 674. Ответов 3
Метки нет (Все метки)

Код
#include <iostream>
#include <list>
using namespace std;
list<int>::iterator pos (list<int> a,list<int>::iterator it)
{
	for (it; it != a.end(); it++)
	{
		if (*it == 5)
		{
			break;
		}
	}
	return it;
}
int main ()
{
	list <int> a;
	for (int i = 0; i < 10; i++)
	{
		a.push_back(i);
	}
	list<int>::iterator it = a.begin();
	cout<<*pos(a,it)<<endl;
	return 0;
}
есть простая функция pos которая возвращает и принимает итератор, почему ошибка при выполнении, как правильно передать этот итератор?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2011, 23:44     Итератор
Посмотрите здесь:

Итератор ? - C++
Как выглядит итератор на вложеный контейнер? Например осуществить доступ к 1-му символу 3-го элемента в векторе vector&lt; &lt;vecrot&lt;char&gt; &gt;...

Итератор - C++
Добрый день. Я начинающий. Есть проект пытаюсь сделать построение-отладку выдает ошибку типа: Ошибка 1 error C2061: синтаксическая...

Итератор - C++
Вот задача: Реализовать шаблон упорядоченного массива как двусвязного списка. Операцию доступа по индексу заменить итератором. Вопрос:...

итератор - C++
Привет всем! подскажите пожалуйста литературу где подробно описана реализация итераторов ...

Итератор!!!!! - C++
Есть такое задание: Разработать класс «Итератор», который должен содержать конструктор и функции просмотра текущего элемента, перехода к...

Итератор С++ - C++
помогите пожалуйста написать итератор, накапливающий сумму пройденных элементов!!!

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
14.10.2011, 23:50     Итератор #2
list<int>::iterator& pos (list<int>& a,list<int>::iterator& it)

Добавлено через 1 минуту
в оригинале вы создаете копию списка
передаете копию итератора, с новой копией списка никак не связанного
возвращаете копию копии итератора на копию списка
hektor
0 / 0 / 0
Регистрация: 14.10.2010
Сообщений: 15
14.10.2011, 23:58  [ТС]     Итератор #3
alex_x_x Спасибо))),понял.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2011, 02:42     Итератор
Еще ссылки по теме:

итератор - C++
скажите как в этой задачи перевести десятичное число в двоичное??? вот условие задачи!!! вот код!! main.h #include &lt;cstdlib&gt; ...

итератор - C++
Привет. Не получается создать итератор. std::vector&lt;std::list&lt;size_t&gt; &gt; adjacentList; если пишу так ...

Вектор и итератор - C++
Почему где не смотрел всегда содержимое вектора смотрят через итераторы)) Решил попробывать как всегда стандартным проежженым способом. ...

Вектор и итератор с++ - C++
//////////////////// /////////// Задание: Элементы вектора D случайным образом перемешаны. Элементы ki вектора K /////////// указывают...

Потоковый итератор - C++
Добрый день. Читаю книгу Объектно-ориентированное программирование в С++ Лафоре, там приводится такой код: #include &lt;iostream&gt; ...

Итератор в <vector> - C++
Всем привет! Помогите пожалуйста советом. У меня есть вектор, содержащий символьные значения (кол-во символов заранее не известно, их...


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

Или воспользуйтесь поиском по форуму:
kravam
быдлокодер
1693 / 880 / 44
Регистрация: 04.06.2008
Сообщений: 5,438
15.10.2011, 02:42     Итератор #4
форматирую наугад
#include <windows.h>
#include <iostream>
#include <stdio.h>
#include <list>
using namespace std;
list<int>::iterator pos (list<int> *a, list<int>::iterator *it)
{


if (*it== (*a).begin())
printf ("равны!\n");
else
printf ("не равны!\n");

for (it; *it != (*a).end(); (*it)++)
{
if (**it == 5)
{
break;
}
}
return *it;
}
int main ()
{
SetConsoleCP (1251);
SetConsoleOutputCP (1251);


list <int> a;
for (int i = 0; i < 10; i++)
{
a.push_back(i);
}
list<int>::iterator it = a.begin();
cout<<*pos(&a,&it)<<endl;
getchar ();
return 0;
}
не славы ради но развития для!

#include <windows.h>
#include <iostream>
#include <stdio.h>
#include <list>
using namespace std;
list<int>::iterator pos (list<int> &a, list<int>::iterator &it)
{


if (it== a.begin())
printf ("ðàâíû!\n");
else
printf ("íå ðàâíû!\n");

for (it; it != a.end(); it++)
{
if (*it == 5)
{
break;
}
}
return it;
}
int main ()
{
SetConsoleCP (1251);
SetConsoleOutputCP (1251);


list <int> a;
for (int i = 0; i < 10; i++)
{
a.push_back(i);
}
list<int>::iterator it = a.begin();
cout<<*pos(a,it)<<endl;
getchar ();
return 0;
}
Yandex
Объявления
15.10.2011, 02:42     Итератор
Ответ Создать тему
Опции темы

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