Witam, w jaki sposób napisać rekurencyjną funkcję wariadyczną?
0
0
Chodziło mi raczej o coś w rodzaju szablonów wariadycznych i wielokropków albo void function( auto arg, auto ... args );
0
http://en.cppreference.com/w/cpp/language/parameter_pack na dole snippet.
3
Np.
#include <iostream>
template<typename T>
void print(T head) {
std::cout << head << std::endl;
}
template<typename T, typename... Rest>
void print(T head, Rest... rest) {
std::cout << head << " ";
print(rest...);
}
int main() {
print("jeden", 2, "trzy", 4);
return 0;
}
0
Wiem wiem, zapomniałem o tym xd
Używam 'auto' zamiast szablonów.
0
Ahateon napisał(a):
Używam 'auto' zamiast szablonów.
Skoro używasz abbreviated function
z rozszerzenia concepts
z C++1z
(N4205 [7.1.6.4]
) to pisz po ludzku ; >
void print(auto&& head) {
std::cout << head << std::endl;
}
void print(auto&& head, auto&&... rest) {
std::cout << head << " ";
print(std::forward<decltype(rest)>(rest)...);
}
int main() {
print("jeden", 2, "trzy", 4);
return 0;
}