Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вопрос по поддержке STL с пом. итераторов

842
25 января 2010 года
sigmov
301 / / 16.09.2008
Здравствуйте всем.

Встала передо мной мледующая задача: реализация специфического массива. Массив непрерывный, НО! его элементы храняться в памяти с некоторым лагом. Т.е. T = *(memory+i*step)
 
Код:
template<typename T>
class MyArray
{
    T* memory;      //Указатель на область хранения
    const int size; //Число элементов
    const int step; //Шаг
    //................//
};


И встала задача обеспечить для этого массива поддержку алгоритмов STL.

Вопрос в следующем: есть ли где-нить описания и(или) список функций которые должны поддерживать итераторы для функционирования STL ?
14
26 января 2010 года
Phodopus
3.3K / / 19.06.2008
А чем обычный vector не устраивает? Ведь, насколько я понял, элементы все равно одинакового размера.
87
26 января 2010 года
Kogrom
2.7K / / 02.02.2008
Итераторы всякие бывают. В простейшем случае итератор подобен указателю. Или даже ещё проще. То есть, можно перегрузить операторы ++, *, и для многих алгоритмов этого хватит.

Для получения подробностей лучше погуглить. Например, тут разъясняют:
http://www.cplusplus.com/reference/std/iterator/
842
29 января 2010 года
sigmov
301 / / 16.09.2008
Цитата: Phodopus
А чем обычный vector не устраивает? Ведь, насколько я понял, элементы все равно одинакового размера.


В векторе реализовано много методов которые Мой класс просто не должен поддерживать(в силу специфики), например, изменение размера и т.д.

[QUOTE=Kogrom]Для получения подробностей лучше погуглить. Например, тут разъясняют:
http://www.cplusplus.com/reference/std/iterator/[/QUOTE]
Спасибо. То что нужно.!

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог