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

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

За 2005-07-21

Re: STL итераторы

> Итератор является указателем, а следовательно должен "влазить" в 4 байта.
> ИМХО

Неть!

Итератор - это прежде всего объект :-)

Он только ведет себя как указатель. Т.е. поддерживает операции * и ->
А также ++ и прочие. Разные итераторы поддерживают разные операции. И с
разной эффективностью. :-)

Таким образом, через такие маздайные изобретения, как lParam и прочие, лучше

передавать указатель на итератор :-) Или указатель на структуру, в которой
есть итератор. Или еще как-нибудь, но не сам итератор.

Номер выпуска : 4793
Возраст листа : 669 (дней)
Количество подписчиков : 524
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/405391
Получить правила : 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-21 21:19:19 (#405391)

Re: "Тормоза"

Добрый день -=BETA,

Tuesday, July 19, 2005, 9:35:07 PM, вы писали:

BT> Хоть кто-то из 520 подписчиков знает как:

BT> Как уменьшить мерцание формы при её масштабирование?

Есть мысль отключить на это время обработку WM_PAINT.

   2005-07-21 20:59:40 (#405387)

Re[2]: "Тормоза"

>, Емельянов Алексей

Пример кода привести сможете?

> THE MESSAGE ЕА> В общем случае, чтобы определить причину мерцания, придется
ЕА> смотреть исходники компонентов. А для своих компонентов
ЕА> пользоваться общими рекомендациями, не раз
ЕА> приводившимися в этом листе:
ЕА> 1. подавлять обработку по умолчанию WM_ERASEBKGND,
ЕА> если нет свободных участков окна, подлежащих
ЕА> заполнению цветом фона
ЕА> 2. реже использовать InvalidateRect(hWnd,NULL,TRUE); если возможно,
ЕА> отмечать для перерисовки нужно не все окно, а только
ЕА> прямоугольник или даже регион с изменениями
ЕА> 3. если выполняется большое количество операций отрисовки,
ЕА> можно рисовать в контексте в памяти, и только затем
ЕА> выводить сформированное битовое изображение
ЕА> на экран (в Delphi можно, например, воспользоваться
ЕА> TBitmap.Canvas)
ЕА> 4. предотвращать затирание дочерних окон, используя стили
ЕА> WS_CLIPCHILDREN и WS_CLIPSIBLINGS
ЕА> 5. не использовать без необходимости стили класса окна
ЕА> CS_HREDRAW и CS_VREDRAW, приводящие к
ЕА> перерисовке при изменении размера (для
ЕА> Delphi обычно требуется сбросить их в CreateParams)
ЕА> 6. законченные оптимизаторы могут попробовать использовать
ЕА> тройку функций
ЕА> BeginDeferWindowPos/DeferWindowPos/EndDeferWindowPos;
ЕА> но в средах с широким использованием визуальных элементов,
ЕА> не являющихся окнами, вроде Delphi, применение этих
ЕА> функций по большому счету бессмысленно

*******
{_-|-_}

Номер выпуска : 4791
Возраст листа : 669 (дней)
Количество подписчиков : 524
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/405371
Получить правила : 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-21 20:01:58 (#405371)

Сканер ШК

Здравствуйте, Все.

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

   Антон Горячун 2005-07-21 12:23:26 (#405054)

Re: STL итераторы

> вдруг неоджиданно возник такой вопрос:
> в библиотеке STL различные объекты в контейнерах идентифицируются
> "итераторами", которые сами являются объектами собственного класса.
> В MFC все объекты идентифицируются с помощью POSITION, которая есть
> ни что иное как указатель, занимает 4 байта и гарантированно
> влезает в разного рода lParam'ы, SetItemData() и т.д. А как быть с
> STL? Есть ли гарантия того, что итератор можно запихать в 4 байта?
> (мне нужен multimap, которого в MFC к сожалению нету)
> P.S. Глянул в код STL, мне поплохело от всех наворотов которые там
> наворочены:)

Итератор является указателем, а следовательно должен "влазить" в 4 байта. ИМХО

Номер выпуска : 4789
Возраст листа : 669 (дней)
Количество подписчиков : 524
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/404902
Получить правила : 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-21 07:29:31 (#404902)