|
|
От: | K13 | http://akvis.com |
| Дата: | 15.10.20 07:16 | ||
| Оценка: | +1 | ||
#include <iostream>
template< typename FN, typename... Args >
void ForEach( FN&& fn, Args... args )
{
(fn(std::forward<Args>(args)),...);
}
// шаблонный не функтор, а метод
struct Print {
template <typename Arg>
void operator()( Arg arg ) { std::cout << std::forward<Arg>(arg)<<std::endl; }
};
int main()
{
ForEach( [](auto x){ std::cout << x << std::endl; }, "aaa", 14, 0.34 );
ForEach( Print{}, "bbb", 13, 0.24 );
return 0;
}