24.11.2003, 11:23 | #1 |
Гость
|
В классах list, set, array, etc. есть метод container pack(), который должен конвертировать содержимое соответствующего контейнерного класса в "стандартный" контейнер Х++.
В процессе его тестирования были обнаружены следующие особенности:
|
|
24.11.2003, 12:17 | #2 |
Участник
|
Best Practice: Pack-unpack pattern
http://technet.navision.com/usered/BPH/Dev.../PackUnpack.htm Паттерн применяется для того, чтобы упаковать в один объект несколько небольших переменных. Контейнер передается между клиентом и AOS. По соглашению, первый элемент контейнера - номер версии алгоритма упаковки-распаковки. Далее идут переменные, которые обрабатываются unpack'ом. Насколько я понимаю, классы list, set, array хранят что-то свое в дополнительных параметрах. Что конкретно - не знаю. А зачем? Если хочется сделать свой класс, то надо унаследовать от стандартного. Затем в pack|unpack вызывать super. А в своем классе заниматься только спецификой. |
|
24.11.2003, 13:05 | #3 |
Гость
|
Цитата:
Сообщение от mazzy
А зачем? Если хочется сделать свой класс, то надо унаследовать от стандартного. Затем в pack|unpack вызывать super. А в своем классе заниматься только спецификой.
Цитата:
The implementation of lists is such that traversal of the list elements is very fast.
Зато скорость, все-таки увеличил! |
|
24.11.2003, 13:53 | #4 |
Участник
|
confind() ищет быстро и корректно, если внутри контейнера атомарные значения
list - не ускоряет поиск. Он быстро делает перебор значений. Для поиска лучше воспрользоваться map'ом. |
|
24.11.2003, 14:53 | #5 |
Гость
|
Согласен, map гораздо лучше! Пришел к этому сегодня утром Но чтобы убедиться, хотелось попробовать ВСЕ! Истина, как известно, познается в сравнении - вот я и моделировал всяческие надуманные поиски/переборы с целью протестировать как можно большее кол-во способов (пусть даже заведомо для этого не предназначенных).
Кстати, "атомарные" значения - это значит одного типа? |
|
08.12.2003, 15:59 | #6 |
Участник
|
Цитата:
Для поиска лучше воспрользоваться map'ом.
|
|
24.12.2003, 13:31 | #7 |
Участник
|
Цитата:
Сообщение от Ruff
Кстати, "атомарные" значения - это значит одного типа?
|
|
24.12.2003, 14:18 | #8 |
Гость
|
Цитата:
Насколько я понимаю "атомарные" = "неделимые" или "простые".
Кстати, видел где-то на technet-е - там кто-то пытался в set контейнеры запихать! Так от этого дела Аксапта аж падает - сам проверял. |
|