i = 0; i < v.size(); i++) v[i] = i+1;
Сократив, например, такой код 👆?
В этом нет смысла
для того, что вы делаете есть std::iota
Ну лямбду то все равно надо написать.
Для начала работы с вектором его нужно заполнить значениями, но в коде по хорошему это в функцию нужно выделить, т.к отдельное действие, и на мой взгляд логично будет либо заполнить при инициализации, либо вызвать отдельную функцию для этой цели
Это вот как раз то самое место где лямбда не нужна ни на фиг
В общем для инициализации вектора лямбдой, нужно знать всего лишь два секрета. Первое: лямбда должна возвращать вектор, по значению Второе: в инициализаторе лямбду нужно вызвать. Кроме этого до всего этого нужно проверить чисто синтаксический Можно ли указывать внутри инициализатора лямбду. Это будет сложновато В смысле сложно в этом будет разобраться. Ну и напоследок замечания Дело в том что чтобы написать такую лямбду тебе нужно будет внутри лямбды создать Вектор заполнить его, а затем вернуть оператора Return. В итоге к этому добавятся ещё заголовок и эпилог лямбды а также её вызов. В итоге код будет лишь слишком сильно перегружен и выглядеть будет по идиотски
согласен, смысл лямбды в упрощении, а не усложнении) Спасибо за ответ 🤝
Обсуждают сегодня