STL

Jan 27, 2010 09:08

Смешно:

char (std::ctype::*fptr)(char) const = &std::ctype::toupper;
std::transform(
s.begin(),
s.end(),
s.begin(),
std::bind1st(
std::mem_fun(fptr),
&std::use_facet >(std::locale())
Read more... )

Leave a comment

Comments 4

ex_kornear February 7 2010, 06:03:46 UTC
Ну за подобные конструкции С++ любят и ненавидят одновременно :)

Reply


frotmnenogi September 21 2010, 09:38:33 UTC
- Простите, это вы сказали "Пошел на х**"?
- Нет, ну что вы!
- Простите, а не вы только что сказали "Пошел на х**"?
- Да как можно!
- Понятно, значит музыкой навеяло :(

Reply


anonymous May 19 2011, 14:30:26 UTC
А зачем transform-то?
у toupper вроде как оверлод есть, который диапазон принимает, так что...

Reply

qehgt May 19 2011, 14:42:42 UTC
http://www.cplusplus.com/reference/std/locale/ctype/toupper/

Так как в std::string данные не обязаны идти последовательно, вторую версию использовать нельзя. Почему отсутствует версия, принимающая на вход итераторы - вопрос к авторам.

Reply


Leave a comment

Up