123456789101112131415161718192021
#include <iostream> template < typename T > void write( T&& arg ) { std::cout << "#args " << 1 << " => " ; std::cout << "write: " << arg << '\n' ; } template < typename FIRST, typename... REST > void write( FIRST&& first, REST&&... rest ) { std::cout << "#args " << 1 + sizeof...(rest) << " => " ; write(first) ; write(rest...) ; } int main() { int i = 3 ; double d = 7.89 ; write( i, &i, d, -120000000000012LL, "hello world" ) ; }