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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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