With this code:
static unsigned count = 0;
template<typename... T>
auto sum(T... args)
{
++count;
return (... + args);
}
int main (void)
{
std::cout << sum(12, 32, 32, 12, 4, 3, 43, 432) << std::endl;
std::cout << "TIME: " << count << std::endl;
}
Output is:
$> ./program.out
570
TIME: 1
Why is count
equals to 1
? I expected count
to be 8. Is sum
template function called only once?