У меня есть безымянная лямбда-функция, которую мне нужно применить ко многим диапазонам, и я не хочу повторять ее, чтобы избежать дублирования кода (она состоит из более чем 5 строк кода).
Каков самый простой способ реализовать это?
Я хочу иметь что-то вроде приведенного ниже кода с некоторыми оговорками:
< li>Мне бы хотелось, чтобы лямбда-выражение располагалось в конце списка аргументов, как в большинстве std алгоритмы.
Меня бы больше устроил синтаксис for_each_range({r1,r2,r3},lambda), но я не могу разобраться как заставить эти { } работать здесь. Std::initializer_list, похоже, не мой путь, поскольку для него требуются константные данные, и мне приходится менять значения в диапазонах.
У меня есть безымянная лямбда-функция, которую мне нужно применить ко многим диапазонам, и я не хочу повторять ее, чтобы избежать дублирования кода (она состоит из более чем 5 строк кода). Каков самый простой способ реализовать это? Я хочу иметь что-то вроде приведенного ниже кода с некоторыми оговорками: [list] < li>Мне бы хотелось, чтобы лямбда-выражение располагалось в конце списка аргументов, как в большинстве std алгоритмы. [*]Меня бы больше устроил синтаксис for_each_range({r1,r2,r3},lambda), но я не могу разобраться как заставить эти { } работать здесь. Std::initializer_list, похоже, не мой путь, поскольку для него требуются константные данные, и мне приходится менять значения в диапазонах. [/list] [code]#include #include #include #include #include