There are lots of useful algorithms that didn't make it into the C++ standard as part of the STL. The scope of this page is to consider a Boost Algorithm library that consists of STL-like algorithms, algorithms over sequences. The following is the list of algorithms that would go into this library. Please add to this list!
Здравствуйте, igna, Вы писали:
I>Затем, чтобы не писать два раза одно и тоже, last может быть достаточно громоздким.
Ради экономии на одной переменной вызывать метод с непонятным названием?
Кроме того, обычно ищут в ассоциативных контейнерах, поэтому всё равно требуется писать == last, и лучше привыкнуть к однообразному способу.
А зачем надо — затем, что оно недвусмысленно говорит о намерениях программиста ("ни один элемент не удовлетворяет предикату"), и не заставляет вычислять эти намерения через анализ кода прямого сравнения find_if с end и прочего — ведь в этом коде может быть и баг? в то время как с none вероятность бага ничтожна.
KISS в действии. Хочешь сказать "Ни один" — скажи это явно, без заковыристых сравнений.