destroy()
/ destroy_n()
соответствует - но со стандартными алгоритмами.Это добавило бы много ненужной путаницы, чтобы добавить единственный алгоритм, который работает в обратном направлении.Кроме того, вы всегда можете сделать:
destroy(std::rbegin(array), std::rend(array));
, которая делает именно то, что вы хотите и ожидаете, сохраняя требования к стилю и типу остальных алгоритмов.
Еще одна вещь, касающаясястандарт.Это только заявляет, что массив стиля C работает таким образом.Нет ничего о vector
, map
или любом другом контейнере stl.Поскольку destroy
функция может принимать любой диапазон C ++, разумно, что она ведет себя как типичный код C ++, а не как часть синтаксиса, унаследованного довольно давно.