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

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

Восстановить пароль Регистрация
 
Hanixer
1 / 1 / 1
Регистрация: 06.11.2013
Сообщений: 31
01.12.2013, 01:56     Итератор класса vector #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);
    };
Помогите кто чем сможет.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2013, 01:56     Итератор класса vector
Посмотрите здесь:

Итератор контейнера внутреннего класса шаблона C++
Итератор для своего контейнерного класса-списка C++
C++ Метод класса возвращающий итератор
C++ Итератор в <vector>
Разработка класса Vector C++
Vector и конструктор класса C++
Итератор внутри шаблонного класса C++
Как корректно скопировать vector в vector внутри класса C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
01.12.2013, 09:34     Итератор класса vector #2
Храни указатель на элемент и ссылку на контейнер
C++
1
2
3
4
5
6
class iterator {
   double * ptr;
   vector & container;
 
   // ...
};
Yandex
Объявления
01.12.2013, 09:34     Итератор класса vector
Ответ Создать тему
Опции темы

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