Вот есть у меня такой код.
Foo* FooBar::FindEgg(Baz baz)
{
iterator founditem = std::find_if(eggs.begin(), eggs.end(),
bind2nd(ptr_fun(isEggSpam), baz)
);
if (founditem == eggs.end())
return (NULL);
else
return (*founditem);
}
Ну, норм. Но подождите, мне нужно поменять направление поиска, смотреть с конца. При этом мне как бы не хочется менять ВСЁНАХУЙВОКРУГ из-за того, что тип итератора поменяется. В итоге я пишу:
Foo* FooBar::FindEgg(Baz baz)
{
iterator founditem = std::find_if(eggs.rbegin(), eggs.rend(),
bind2nd(ptr_fun(isEggSpam), baz)
).base();
if (founditem == eggs.end())
return (NULL);
else
return (*founditem);
}
Обращаем внимание на rbegin-rend и base() http://en.cppreference.com/w/cpp/iterato...
Заебись
?
Хуй!
.base() возвращает итератор на позицию правее, чем нужно. Потому что
> For a reverse iterator r constructed from an iterator i, the relationship &*r == &*(i-1) is always true; thus a reverse iterator constructed from a one-past-the-end iterator dereferences to the last element in a sequence.
Причём это я всё понимаю, хорошо сделали. Но блядь... ошибки off-by-one в моём итераторном «алгоритмичном™» коде?! Пиздец, STL, ты сука огребаешь, я иду переписывать всё циклами.
ulidtko
01.08.2012 18:14
Do you really want to delete ?
Да ты мудак же. Почему бы не сравнить с rend()?
ох...
Што.
блин, не тебе. Это опу шло
вообще охуеть: менять тест «нашлось ли там чего» в зависимости смены направления поиска. Пиздец.
base() же ты прикрутил, вот считай это сменой также.
а это я уже прикрутил в ту же строку как бы ;]
По-моему, логично. Это же совершенно разные итераторы.
Че, какую строку? Питон настолько шоле мозг разжижает? :3
а по-моему, нихуя не логично. Каким хуем проверка успешности поиска должна синтаксически зависеть от его направления?
Даже bool found = false; логичнее блядь.
http://imgur.com/a/LHYoo
ты не прав. Тут же все логично
ебать, на этом живые люди пишут?
используй пастобин, шлюха
саси
питонобляди не знаю про пастобин
да, а еще он считать не умеют, и считают матан чем-то сверхъестественным
ну, я даже не знаю, как возражать на такие замечания. Логично? Да, логично.
А переименовывать плагины, чтобы они в правильном порядке загружались — логично? Ещё бы!
Сливаешь авидовский корпоративный код? Ц-ц-ц.
анус себе сасай, лолка
а ещё питонобляди сосут хуи и ебутся в жопу
!
ну я не понимаю, чего ты уперся. У тебя совершенно 2 разных итератора, которые указывают на совершенно разные места.
зачем мне нужен алгоритм сортировки, нет времени чтобы ебаться с ним
пиздец блядь, мне ПОХУЙ что там за итераторы, я хочу надёжно тырпрайзно найти элемент в коллекции блядь
у каждого инструмента есть свои недостатки, твои буггурты были описаны уже сто раз 20 лет назад, просто смирись и жуй иногда говно дальше
вот именно, а зачем мне нужны нормальные удобные итераторы?
у меня нет времени чтобы ебаться с ними!
лучше пойду ещё раз напишу цикл.
ты и нашел. В чем проблема? Зачем использую r-итераторы ты сраваниешь их с обычными итераторами?
саси [2]
и что в цикле плохого? :cf: Сишники бы тебя сейчас обоссали
> ты и нашел. В чем проблема?
ты тупой что ли, до конца не смог дочитать?
Off-by-one ошибка возникла — вот в чём проблема.
анус себе сасай, лолка [2]
CTRL-F cacu found this — upboats
DAE using this gem → python SO BRAVE
сравни с rend ()
да я вот всё жду набега @gelraen с расстёгнутой ширинкой.
... и заодно напиши ещё один тайпдеф для std::reverse_iterator<std::vector<Foo*>::iterator>, это же так легко и удобно!
ну сделай, если он тебе нужен. Не вижу проблемы
=__________\\\\
я тебе сделаю небольшой хинт, ПОЧЕМУ ты не видишь проблемы: попробуй пописать на других, УДОБНЫХ языках.
man auto, man decltype
Пописываю на хацкеле, проблемы все равно не вижу.
ты правда думаешь, что я не ждал этого ответа?
Ну вдруг ты НЕ ЗНАЛ?
тебе тут с парашы докладывают, я тебе переведу: "Ты не достаточно погрузился в это говно"
разговаривать с питоноблядью, у которой порван анус от того, что есть языки, в которых нужно думать — бесполезно
s/, у которой порван анус от того, что есть языки, в которых нужно думать//
ну и на каком таком языке из этих ты писал?
на хацкеле у тебя тоже вокруг переворачиваются анрилейтед операторы, когда ты меняешь list на (reverse list) ?
ты когда строишь предложения много думаешь? или лучше думать над задачей/тезисом?
много думаю.
> языки, в которых нужно думать
господи, как это мило
типа "бля, вот тут сказууууемое, а тут, матерное междометие, и потом, в конце, термин который я прочитал вчера на рекламном щите"
Нет, там приходится пердолиться в тайпчекер :3
Питон в этих терминах — «агу-агу».
а в плюсах вдвойне удобно! можно и пердолиться с типами, и перехуячивать итераторный код!
s/агу-агу/KoKoKo/
мааааа, ууууугли
Петушатне виднее :3
на самом деле, если уж сравнивать, то питон ближе к русскому: на нём просто говоришь, и матерное кряканье просто работает. Только если запятую проебёшь — набегут граммарнаци и закидают трейсбеками.
Хачкель — латынь какая-то наверно. Тоже просто работает, но заебёшься с грамматикой и кривой осиливания.
А для плюсов у меня нет аналогии. Нормальные люди не настолько говноеды, чтобы использовать что-нибудь подобное для общения.
это называется "исполняемый псевдокод". Создан был специально министерством обоорны США для обучения обезьян, а потом пролоббирован на уровне мирового провительства как еще одно хобби для _фотографов_ю
для географов и биологов
а вообще русский язык соснул, есть более годные естественные языки
точно, украинский и правда полущ :3
не читал, но осуждаю, потому что такой же русский, но с увеличенными недостатками
нихуя не такой же, бро, я говорю тебе это
как у вас на украинском будет слово "компьютер"?
«обчислювач» :3 :3 :3
оооооооооооооооооооооооооок
а как будет на английском «компьютер»?
вот видишь.
iPad
клингонский :)
>>bind2nd
Легаси какое-то, ну.
Какой улидтко, такой и код :3
:( здесь vc9 пока, десу~
Да ты же ГОВНОЕД.
блядь, ну а я то-то причём :(
я б удовольствием лямды, range for, auto хуячил вместо всего этого говна, но.
#tzeosz+ , ну и ваще твои недавние посты.
Олсо, набигай в c_plus_plus@cjr, у нас там своя атмосфера, будем тепло и ласково чмырить :3
вы меня в натуре доебёте, и превращусь в дорфе, рассказывающего о циклах и стле. Хотите этого?
мм, ну я попробую.
Меня просто плюсовые итераторы делают блевать, срсли.
Лол.
Рейнджи полущ, да.
std::tr1::bind хотя бы уж
Улидтко превращается в гейдева!
у нас просто паст.пуку.орг закрыли