Std::iota очень ограниченC++

Программы на C++. Форум разработчиков
Anonymous
Std::iota очень ограничен

Сообщение Anonymous »

Из мира Python я считаю, что функция std::iota очень ограничена. Почему интерфейс не может принимать какие-либо UnaryFunction?

Например, я могу конвертировать

Код: Выделить всё

>>> x = range(0, 10)
в

Код: Выделить всё

std::vector x(10);
std::iota(std::begin(x), std::end(x), 0);
А как бы это сделать:

Код: Выделить всё

>>> x = range(0,20,2)
или даже

Код: Выделить всё

>>> x = range(10,0,-1)
Я знаю, что написать одну такую ​​функцию или использовать Boost — это тривиально, но я решил, что комитет C++, должно быть, тщательно выбрал этот дизайн. Очевидно, что мне чего-то не хватает в C++11.

Подробнее здесь: https://stackoverflow.com/questions/345 ... ry-limited

Вернуться в «C++»