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

Написать свой итератор, чтобы алгоритмы STL работали с моим классом - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.70
Maxi Paul
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4
27.12.2010, 18:47     Написать свой итератор, чтобы алгоритмы STL работали с моим классом #1
Как написать свой итератор, чтобы действовал как стандартный и мог использовать STL алгоритмы.
(У меня есть класс двусвязный списко (контейнерные не предлагать), нужно написать итератор, который будет унаследован от itertator_traits или просто от iterator). Не получется правильно унаследовать.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2010, 18:47     Написать свой итератор, чтобы алгоритмы STL работали с моим классом
Посмотрите здесь:

STL алгоритмы сортировки C++
C++ Функторы и алгоритмы stl
C++ Как более менее правильно написать итератор(не STL).
C++ Задача на С++. Алгоритмы библиотеки STL.
Помогите разобраться (STL, алгоритмы замещения страниц) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
27.12.2010, 19:07     Написать свой итератор, чтобы алгоритмы STL работали с моим классом #2
следуй исходя из сути итератора - указатель на элемент массива
соот-но для списка напиши класс двунаправленный итератор, и в своем классе список добавь 2 итератора на первый и последний элементы.

Добавлено через 2 минуты
хотя я сомневаюсь что у тебя из этой затии получится чтоюы функции принимали твои итераторы
Nick Alte
Эксперт С++
1590 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,897
Завершенные тесты: 1
27.12.2010, 19:14     Написать свой итератор, чтобы алгоритмы STL работали с моим классом #3
Итератор - это концепция. Его необязательно наследовать, главное - описать определённым образом. Определить ему операции ==, *, ->, ++ и -- (ну, может быть, ещё несколько - это надо глянуть подробнее) - и подавляющее большинство алгоритмов будут кушать его как миленькие. Ну и ещё определить встроенные типы как в iterator (то есть, с теми же именами).
Maxi Paul
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4
28.12.2010, 11:46  [ТС]     Написать свой итератор, чтобы алгоритмы STL работали с моим классом #4
Спасибо. Попробую!
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
28.12.2010, 11:59     Написать свой итератор, чтобы алгоритмы STL работали с моим классом #5
Вектор наподобие STL
если что может пригодится. писал свой вектор + аллокатор + итератор. как пример можете посмотреть
Yandex
Объявления
28.12.2010, 11:59     Написать свой итератор, чтобы алгоритмы STL работали с моим классом
Ответ Создать тему
Опции темы

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