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

Иттераторы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не параллелипеидальный объёмный массив http://www.cyberforum.ru/cpp-beginners/thread88734.html
Не знаю, где лучше разместить эту тему. В алгоритмах что ли? Или в c++? Подскажите как организовать массивы с декартовыми и криволинейными координатами в пределах тел сложной формы в качестве...
C++ Проверка 3-ех примеров (Решать ничего не нужно) Всем привет! =) У меня такая проблемка,кто сталкивался,или может решить,помогите пожалуйста =) Буду очень признателен! Итак,даны три задачи: 1) Даны натуральные числа n и m. Вычислить:... http://www.cyberforum.ru/cpp-beginners/thread88723.html
C++ Структура. Работа с файлом.
Создать структуру описывающую библиотеку: struct library { char book; //название книги char author; //автор int year; //год издания int pages; //число страниц float price; //цена };
Перегрузка файлового ввода-вывода C++
Здравствуйте! У меня вопрос такой вот: для файлового ввода-вывода сколько надо функций перегружать? столько хватит friend std::ostream & operator<<(std::ostream & os, const Order & o);...
C++ Последовательности пробелов заменнить символом табуляции http://www.cyberforum.ru/cpp-beginners/thread88703.html
нужно написать программу, которая, запросив у пользователя имя входного текстового файла и цену символа “HT- горизонтальный табулятор” (2...8 символьных позиций) формирует выходной текстовый файл...
C++ Не подсчитывает общее количество При разборе простейшей программы возникли затруднения. Код программы: #include <iostream.h> main () { int passes = 0, failures = 0, student = 1, result; while (student <= 10) { подробнее

Показать сообщение отдельно
Aye Aye
368 / 282 / 36
Регистрация: 17.12.2009
Сообщений: 567
28.01.2010, 06:08
для прохода итератора от конца контейнера к началу делают
iterator TArray::rbegin() и iterator TArray::rend() - типа реверсивные begin() и end(). и вот у них operator++ будет гнать итератор от конца к началу.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class list
private:
        node *endlist;
        node *beginlist;
public:
        list(){}
        struct node{
                 //куски кода...
                 node *next; //следующий узел списка
        };
        class iterator{
                //чето там...
                iterator &operator++(int i)
                {
                           info=info->next;
                           return *this;
                 }
        };
        iterator begin()
        {
                  return iterator(beginlist);
         }
         iterator end()
        {
                  return iterator(endlist);
         }
         
};
//в main()
list L;
for (list::iterator iter=L.begin();iter!=L.end();iter++)
{
       //работа с *iter
}
итератор не может быть больше или меньше begin() (если контейнер в виде дерева, очевидно что больше-меньше не подходит), итератор это просто ссылка на очередной обькет, и у него два оператор != и ++, что бы можно было следущий элемент получить, и за границу не выйти.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru