Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

За 2005-07-23

Re[4]: STL итераторы

Здравствуйте !

> An iterator is an abstraction of a pointer used for pointing
> единственное, где нашел все таки. но не первое где видел. Все
> таки говорят что > итератор - указатель на контейнеры

Указатель и _абстракция_ указателя...
Чувствуете разницу ?
Итератор (само значение) может быть индексов чего то в чем то.
Содержимое итератора не обязано укладываться в 4 (или сколько там) байт
может быть чем то сложным (структурой, например).

Про соглашения для итераторов читаем тут:
http://msdn.microsoft.com/library/en-us/vcstdlib/html/vclrfIteratorConventio

ns.asp

--
С уважением, Вахтуров Виктор.

Номер выпуска : 4801
Возраст листа : 671 (дней)
Количество подписчиков : 526
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/406368
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

   2005-07-23 23:21:54 (#406368)

Re[3]: STL итераторы

> Ю> Таким образом, через такие маздайные изобретения, как lParam и прочие,
> лучше
>
> Ю> передавать указатель на итератор :-) Или указатель на структуру, в
> которой
>
> Ю> есть итератор. Или еще как-нибудь, но не сам итератор.
>
> Я думал об этом... Но если хранить указатель на итератор, то где
> хранить сам итератор (он уже не может быть локальной переменной!!!)

Почему не может? Если та функция, которая имеет в качестве локальной
переменной этот итератор, будет присутствовать в стеке вызовов в момент
использования этого итератора, то все ОК :-)

Или, если нельзя сделать локальным, то, наверно, можно сделать глобальным? В

таком случае вообще ничего передавать не придется. :-)

Или вообще выделить под него память динамически. :-)

> Получается, что нужно заводить еще и список итераторов, используемых
> объектом, хранить их в объекте... все это, ясное дело, не подходит,
> т.к. отследить все это просто невозможно.
> Реально sizeof от итератора дает 4 байта, но всегда ли это так?

Не знаю. :-) Я посмотрел, у мультимэпа 4, у списка тоже. Но я не думаю, что
на это можно полагаться.

> Есть еще идея, но опять знаний не хватает. Хранить указатели на сами
> элементы и пользоваться какими-то функциями преобразования, которые по
> указателю на элемент и самой переменной контейнера формируют итератор,
> указывающий на этот элемент. Есть ли такие функции?

Я не знаю таких функций...

Я вот думаю, а действительно ли нужен итератор? :-) Если интересует только
то значение, на которое он указывает, и нет необходимости перемещаться по
контейнеру, то хватит простого указателя.

А если нужен итератор, то можно найти это значение в этом мультимэпе. :-)
Сначала определить верхнюю и нижнюю границы (upper_bound() и lower_bound()
соответственно), а потом линейно найти тот элемент, адрес которого совпадает

со значением указателя. :-)

Изврат? :-) Согласен.

Номер выпуска : 4800
Возраст листа : 671 (дней)
Количество подписчиков : 526
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/406364
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

   2005-07-23 23:08:01 (#406364)

Re[3]: STL итераторы

Из C++ in a Nutshell (http://club.shelek.com/download.php?id=187)
An iterator is an abstraction of a pointer used for pointing into containers
and other sequences

единственное, где нашел все таки. но не первое где видел. Все таки говорят что
итератор - указатель на контейнеры

Номер выпуска : 4799
Возраст листа : 671 (дней)
Количество подписчиков : 526
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/406200
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

   2005-07-23 13:53:40 (#406200)

Re: Сканер ШК

Привет Антон Горячун,

Вы мне письмо написали 21 июля 2005 г. (четверг), а я Вам отвечу вот что:
АГ> ридер штрих-кодов подключенный в разрыв клавиатуры ...
АГ> считывания с ридера, ввод с клавиатуры

В настройках сканера есть такие штуковины, как префикс и суффикс,
котроые могут принимать любые занчения, включая #0..#31 - по ним и
можно судить, что передаёт данные: сканнер или клавиатура.

P.S. Вообще-то не рекомендуется использовать сканнер в разрыв
клавиатуры, больно тормозит клавиатуру

Афоризм напоследок: Пить надо с бабами, чтобы потом к ним не ехать.
Winamp глаголит: Л.Сенчина - Белый танец
23 июля 2005 г. 13:04:40

Просто студент
Eugene mailto:rav***@o*****.ru

Номер выпуска : 4798
Возраст листа : 671 (дней)
Количество подписчиков : 526
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/406196
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

   2005-07-23 13:30:59 (#406196)