![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| borisbn |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
Всем привет. Название не очень, но попробую объяснить здесь.
Не так часто, но, в общем-то, и не редко, бывают ситуации, когда необходимо пройтись сразу по двум контейнерам. Естественно, предполагается, что они одинакового размера. Есть парочка вариантов, как это сделать: 1) В цикле for инициализировать два итератора и инкрементировать оба (так себе объяснение... лучше код)
2) Создать структуру из двух элементов, слить в один контейнер данные из обоих контейнеров:
оба способа мне не нравятся: первый способ - просто не нравится Почитывая описание BOOST_FOREACH наткнулся на такую фразу
и вот последний пункт меня заинтересовал. Теперь, собственно, вопрос: можно ли как-то стандартным способом пройтись по двум контейнерам ? Типа такого:
Спасибо. -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||||||
|
|||||||||
| alexvs11 |
|
|||
|
hell is here ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 21.8.2010 Репутация: 6 Всего: 10 |
наверно есть более подходящий алгоритм Это сообщение отредактировал(а) alexvs11 - 12.11.2011, 18:19 |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
||||
|
||||
| alexvs11 |
|
|||
|
hell is here ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 21.8.2010 Репутация: 6 Всего: 10 |
bsa, да, но там есть ненужны OutputIterator
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
никто не мешает сделать "пустой" OutputIterator |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
bsa, ага. на transform заглядывался, но мне не понравилось, что нужно делать предикат (нельзя просто for), да и свой "пустой" iterator тоже лениво делать
А что, всё-таки, значит строка в доке к бусту:
Не то, что мне нужно ? Это сообщение отредактировал(а) borisbn - 12.11.2011, 19:45 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| alexvs11 |
|
|||
|
hell is here ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 21.8.2010 Репутация: 6 Всего: 10 |
borisbn, а mismatch?
насчет предиката - этож stl, как иначе по-поводу BOOST_FOREACH походу это только для std::map |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
это поддержка спецификации boost.range, ибо там один объект хранит два итератора, т.е. range.
http://liveworkspace.org/code/51c356368117...509eec8fff40ac4 Добавлено через 1 минуту и 46 секунд приведи пример пожалуйста. |
|||
|
||||
| alexvs11 |
|
|||
|
hell is here ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 21.8.2010 Репутация: 6 Всего: 10 |
||||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
borisbn, а вот ответ на твой вопрос:
http://liveworkspace.org/code/0d3632e0846e...482af54dbc28e52 |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
ясно. не то. то. типа "sugar" version of transform... ИМХО пример был бы лучше такой (разные контейнеры)
boostcoder, респект и спасибо. -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |