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

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

Войти
Регистрация
Восстановить пароль
 
Hanixer
1 / 1 / 1
Регистрация: 06.11.2013
Сообщений: 31
#1

Итератор класса vector - C++

01.12.2013, 01:56. Просмотров 364. Ответов 1
Метки нет (Все метки)

Доброго времени суток.
Попалась задача, в которой нужно определить итератор с проверкой выхода за пределы допустимого диапазона для класса vector.
Никак не могу понять
1) как итератор должен узнать о начале вектора,
2) как должна проходить инициализация итератора,
3) как отображать конец вектора?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class iterator {
            double* ptr;
            const double* begin;       //нужен ли итератору указатель на первый элемент вектора?
        public:
            iterator(double* d) : beg(d), ptr(d) {}
            iterator(double* base, int n) : beg(base) { if (n<=sz) ptr = base+n; }
            iterator& operator++();
            iterator& operator--();
            double& operator*();
            double& operator[](int);
            iterator& operator+(int);
            iterator& operator-(int);
    };
Помогите кто чем сможет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2013, 01:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Итератор класса vector (C++):

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

Как корректно скопировать vector в vector внутри класса - C++
Есть класс принимающий в конструкторе vector: class test { test(std::vector&lt;std::string&gt; codeList); ~test(); ...

Итератор для класса-группы - C++
Доброго времени суток. Нужна помощь. Выполняя лабы по методичке вновь возникла проблема с пониманием логики автора. Необходимо передать в...

Метод класса возвращающий итератор - C++
Не могу заставить метод класса возвращать итератор, помогите понять почему компилятор не разрешает это сделать: Класс (методы...

итератор для шаблонного класса - C++
Всем солнца! Честно честно честно пересмотрел более 100 различных вариантов разных решений. НО.... :wall: есть список: ...

Итератор для класса с массивом - C++
Добрый день! Есть небольшая задачка.. необходимо написать класс для готовых комманд код for (Ada::Iterator adaIter =...

1
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
01.12.2013, 09:34 #2
Храни указатель на элемент и ссылку на контейнер
C++
1
2
3
4
5
6
class iterator {
   double * ptr;
   vector & container;
 
   // ...
};
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2013, 09:34
Привет! Вот еще темы с ответами:

Итератор внутри шаблонного класса - C++
пытаюсь создать свой контейнер (на основе std::map) добавлять в него пару данных разных типов, а потом считывать вторую часть пары...

Итератор контейнера внутреннего класса шаблона - C++
Следующий код компилируется: struct A { struct B {}; vector&lt;B&gt; vec; vector&lt;B&gt;::iterator it; }; А следующий код не...

Итератор для своего контейнерного класса-списка - C++
Здравствуйте. Есть класс List, и мне надо помимо стандартных методов приделать к нему итератор. #include &lt;cstdlib&gt; #include...

Реализовать двусвязный список (list), итератор (iterator) и константный итератор (сonst_iterator) для списка - C++
не могу понять что должно быть результатом. может подскажете примеры? пожалуйста. Задание: Реализовать двусвязный список (list),...


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

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

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