Czytałem o szablonach variadic i natknąłem się na ten przykład. Książka wspomina, że aby zakończyć proces rekursji, używana jest funkcja print()
. Naprawdę nie mogę zrozumieć jego użycia. Dlaczego autor korzysta z tej pustej funkcji print()
?nie może zrozumieć szablonów variadic w C++
void print() // can't get why this function is used
{
}
template <typename T, typename... Types>
void print (const T& firstArg, const Types&... args)
{
std::cout << firstArg << std::endl; // print first argument
print(args...); // call print() for remaining arguments
}
Po wydrukowaniu ostatniego argumentu zostanie wywołany "pusty" print(). – Banan
Czy rozumiesz funkcje rekurencyjne? Jeśli nie, szablony variadyczne będą zbyt zaawansowanym tematem. – MSalters
@MSalters Otrzymuję funkcje rekursywne całkowicie i zaktualizowałem pytanie –