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

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

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

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

01.12.2013, 01:56. Просмотров 340. Ответов 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 из класса C++
Итератор для класса-группы C++
Реализовать двусвязный список (list), итератор (iterator) и константный итератор (сonst_iterator) для списка C++
Шаблон класса vector C++
Итератор для класса с массивом C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
1256 / 1139 / 55
Регистрация: 21.04.2012
Сообщений: 2,361
Завершенные тесты: 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
Ответ Создать тему
Опции темы

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