Сообщение Re: Zero-cost метод вызвать функцию для каждого шаблонного п от 15.10.2020 7:16
Изменено 15.10.2020 7:47 K13
Re: Zero-cost метод вызвать функцию для каждого шаблонного парам
#include <iostream>
template< typename FN, typename... Args >
void ForEach( FN&& fn, Args... args )
{
(fn(args),...);
}
int main()
{
ForEach( [](auto x){ std::cout << x << std::endl; }, "aaa", 14, 0.34 );
return 0;
}Re: Zero-cost метод вызвать функцию для каждого шаблонного п
#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;
}