Шрифт:
Предположим, имеется функция для отбора «дефектных» объектов
Требуется скопировать все дефектные объекты
По иронии судьбы алгоритм
В книге «The C++ Programming Language» [7] Страуструп замечает, что реализация
Решение основано на простом факте: хотя STL не позволяет сказать «скопировать все элементы, для которых предикат равен
Если бы эти рассуждения были верны, копирование дефектных объектов Widget можно было бы произвести следующим образом:
Компилятор недоволен попыткой применения
Правильная реализация
Поскольку алгоритм
Совет 37. Используйте accumulate или for_each для обобщения интервальных данных
Иногда возникает необходимость свести целый интервал к одному числу или, в более общем случае, к одному объекту. Для стандартных задач обобщения существуют специальные алгоритмы. Так, алгоритм
Но в некоторых ситуациях возникает необходимость обработки интервальных данных по нестандартным критериям, и в таких случаях нужны более гибкие и универсальные средства, нежели алгоритмы