Я подозреваю, что accumulate
— не единственный алгоритм, который этого не сделал.
Может быть, теперь есть лучший способ выполнять накопление (свертывание) по диапазону, и поэтому accumulate
устарел?
Я подозреваю, что accumulate
— не единственный алгоритм, который этого не сделал.
Может быть, теперь есть лучший способ выполнять накопление (свертывание) по диапазону, и поэтому accumulate
устарел?
Нет, accumulate
— вполне разумный алгоритм, и ни один другой алгоритм не делает его устаревшим. Причина, по которой его не включили в С++ 20, — просто вопрос времени. Было решено добавить как можно больше диапазонов, не беспокоясь о том, чтобы добавить все сразу. В противном случае существовал риск того, что ни один из алгоритмов с ограничениями не дожил бы до C++20, что было бы позором.
Есть еще несколько алгоритмов, которые еще не были ограничены, а также все заголовки <numeric>
и <memory>
.
К счастью, есть предложение добавьте эти оставшиеся алгоритмы (и я надеюсь, что они будут добавлены в С++ 23). Фактически, введение к этому предложению хорошо отвечает на ваш вопрос:
«Каждый раз, когда кто-то спрашивает, почему мы не рассмотрели алгоритмы
<numeric>
и<memory>
: мы думали, что 187 страниц TS будет достаточно». — Кейси Картер