Андрей Александреску убивает итераторы (комментарии) (2 стр)
Страницы: 1 2
| kvakvs | Участник | www | 21 сен. 2009 | 17:18 | #15 |
|---|
> Я вот теперь и думаю, внесут ли что-то такое в STL? Если да - то надо уже
> сейчас проектировать с этим "in mind"...
Загляни в Boost.Range,
http://www.boost.org/doc/libs/1_40_0/libs/range/index.html
и попутно в Boost.StringAlgo
http://www.boost.org/doc/libs/1_40_0/doc/html/string_algo.html
| Phoenics | Участник | www | 21 сен. 2009 | 17:19 | #16 |
|---|
Не в курсе где можно почитать, я делаю свои выводы на основе презентации, может быть это мои домыслы но в презентации чётко сказано про возожность накладывать фильтры на ранж, а Select этот - что если не фильтр? Врядли конечно синтаксис будет таким как в твоём примере, скорее всего ифльтр будет функцтором, хотя может там чё-нить нашаманят с макросами так что будет похоже.
| Iskander | Постоялец | www | 21 сен. 2009 | 17:38 | #17 |
|---|
> Врядли конечно синтаксис будет таким как в твоём примере,
Синтаксис вообще может быть любым, это несущественно. Существенно другое. Если содержимое региона вычисляется сразу для всех, сейчас неважно, отложенные эти вычисления или нет, главное что мы получаем фактически другой контейнер, (судя по ссылкамkvakvs'а регион, ну или как там по русски будет, и контейнер это близкие вещи), содержащий условно говоря ссылки на элементы нашего исходного контейнера.
Если же во время пробега по foreach на каждый элемент контейнера вызывается функтор для сравнения, это уже немного другое, чуть менее гибкое.
Последняя правка: 21 сен. 2009 17:39
| Chipmunk | Постоялец | www | 21 сен. 2009 | 18:38 | #18 |
|---|
Проектировать то что надо, а что?
kvakvs
Я в курсе дела по бусту, но у нас свои внутренние правила.
О фильтрах в презентации ничего очень хорошего нет.
Последняя правка: 21 сен. 2009 18:52
| kvakvs | Участник | www | 21 сен. 2009 | 19:08 | #19 |
|---|
В STL оно если когда-то и доедет то только с выпуском C++0x, много вещей из буста я там нахожу в ихних проектах std библиотек. Из упоминаний range, я нашёл только http://en.wikipedia.org/wiki/C++0x#Range-based_for-loop так что ещё может и не успеть доехать в ближайшем релизе.
Внутренние правила, что буст смотреть можно а трогать низя? А что мешает взять ряд нужных заголовков из буста и пользоваться, не подключая весь буст? Если пойдёт дело - копируй нужные классы или целиком включай в кодбейс проекта, не пойдёт - удалишь.
| homo ludens | Постоялец | www | 21 сен. 2009 | 19:26 | #20 |
|---|
| Ghost2 | Постоялец | www | 22 сен. 2009 | 0:27 | #21 |
|---|
> Проектировать то что надо, а что?
Ты всерьез считаешь, что итераторы или рейнджы (или индексы в массивах) это уровень проектирования?
| Chipmunk | Постоялец | www | 22 сен. 2009 | 19:35 | #22 |
|---|
Давай не будем тут спорить. Со мной обычно неприятно спорить. )
По крайней мере, в Design Patterns (GoF) написано, что люди используют "Design Pattern: Iterator (Behavioural)". "design" переводят как "проектирование".
| Ghost2 | Постоялец | www | 22 сен. 2009 | 19:57 | #23 |
|---|
Страницы: 1 2
/ Форум / Программирование игр / Общее
Для определения, можете ли вы оставлять сообщения, необходимо войти в систему под своим логином.