Маленький и скромный хак.

Nov 24, 2010 12:37



Такой маленький хак, а так замечательно облегчает жизнь и ускоряет поиск по строке.

string::const_iterator find(string::const_iterator begin, string::const_iterator end, char c) { const char *mem = begin.operator->(); const char *p = string::traits_type::find(mem, end - begin, c); if(p) return begin + (p - mem); return end; }
Read more... )

c++

Leave a comment

Comments 8

caml_programmer November 24 2010, 21:07:09 UTC
Маленькое си-плюс-плюсное добро.

С жж похоже и youtube перестал дружить, или это только
у меня такие глюки.

Reply

voins November 25 2010, 07:20:44 UTC
Какие-то сложности с youtube точно есть, видел как люди ругались. А я как-то видео не балуюсь особо, так что не замечаю :)

Reply


awind November 24 2010, 21:14:31 UTC
и эти люди говорят что перл write-only

Reply

avnik November 24 2010, 23:07:11 UTC
(let flame = true)
Это потому что язык без отступов писать позволяет.

Reply

voins November 25 2010, 07:25:12 UTC
А чего тут нечитаемого-то?
Единственное, что не "по канону" так это использование оператора ->, собственно потому и хак.

Reply


voins November 25 2010, 07:40:51 UTC
string::find не инлайнится, а find - сполне себе. При -O2 они по скорости совпадают, при -O3 уже заметна разница около 10%.

Reply


ext_2573096 May 21 2014, 15:06:39 UTC
Согласен...

Reply


ext_2572587 May 21 2014, 20:06:00 UTC
Солидарен!

Reply


Leave a comment

Up