Не подскажете ли многоуважаемые, как мне, используя только стандартные средства STL (VC8)
найти слова определенной длины в векторе? Именно используя только библиотечные объекты функции. Если написать свой предикт, то задача решается просто. Хотелось бы именно
стандартными средствами.
тем, что вектор может измениться на сортированный вектор(после профайлинга к примеру), и захочется применять std::lower_bound а не простой обход всех элементов.
Здравствуйте, Astral29, Вы писали:
A>Вопрос был не в том, что хуже. Я просто учу STL, и там в книге было такое задание. A>Реально ли всё-таки это сделать с использованием только STL (VC8)?
а зачем тут указывать, что vc8?
а с помощью stl' конечно это делается, функтор можно записать с помощью гнусных bind1st и bind2nd,
с помощью boost::bind он бы выглядел примерно так
boost::bind(std::equal_to<size_t>(),boost::bind(&std::string::size,_1), 10)
Здравствуйте, Sni4ok, Вы писали:
S>а зачем тут указывать, что vc8? VC8 указывается для того, что есть разные варианты STL. И в них есть свои дополнения.
S>а с помощью stl' конечно это делается, функтор можно записать с помощью гнусных bind1st и bind2nd, S>с помощью boost::bind он бы выглядел примерно так S>boost::bind(std::equal_to<size_t>(),boost::bind(&std::string::size,_1), 10)
Так а как "с помощью гнусных bind1st и bind2nd" это сделать?
Здравствуйте, Astral29, Вы писали:
A>Так а как "с помощью гнусных bind1st и bind2nd" это сделать?
блин, я не маньяк чтобы это на стандартных биндерах делать)
плюс они очень не универсальны, поскольку будут разные для скажем обхода итераторов
по std::vector<std::string> и std::vector<std::string*>, так что с практической точки зрения они представляют мало интереса,
но с академический и для набивания руки конечно покатят.
Здравствуйте, Sni4ok, Вы писали:
S>блин, я не маньяк чтобы это на стандартных биндерах делать) S>плюс они очень не универсальны, поскольку будут разные для скажем обхода итераторов S>по std::vector<std::string> и std::vector<std::string*>, так что с практической точки зрения они представляют мало интереса, S>но с академический и для набивания руки конечно покатят.
Я тогда вообще не понимаю, зачем в книгах давать такие задания.
Причем задания там в основном на "понял/не понял" материал. Т.е., подразумевается,
что это просто сделать.
Здравствуйте, ilnar, Вы писали:
I>имхо, без средств комипозиции никак ((( I>а "композиторы" в VC8 нет ((
I>если вставите вот такой код компосера:
skipped I>то будет счастье вида (проверку на длину 3):
skipped
Спасибо за ответ. Я предполагал, что всё это можно сделать проще...
А как оказалось — нет.
A>Я тогда вообще не понимаю, зачем в книгах давать такие задания. A>Причем задания там в основном на "понял/не понял" материал. Т.е., подразумевается, A>что это просто сделать.
может все же там не требовали на чисто STL? может предполагаось написать функтор? при этом по всем правила типа наследования от унарной или бинарной функции (скорее этот)
Здравствуйте, Sni4ok, Вы писали:
RO>>Чем это хуже по сравнению с чем-то вроде
S>тем, что вектор может измениться на сортированный вектор(после профайлинга к примеру), и захочется применять std::lower_bound а не простой обход всех элементов.
Не может он измениться. Структуры данных выбираются задолго до кодирования и потом не изменяются.