初期化の部分を執筆中に、ふと、range-based forの面白い使い方を思いついた template < typename ... Types > void f( Types ... args ) { for ( auto value : { int(args)... } ) { std::cout << value << std::endl ; } } int main() { f( 1 ) ; f( 1, 2, 3 ) ; f( 1, 2, 3, 4, 5 ) ; } range-based forには、初期化リストを渡せる。初期化リストには、引数パックを使うことができる。ということは、わざわざ再帰的なアルゴリズムを使わずして、Varidic Templatesを使った可変引数をすべてforで回せるのである。int型にキャストしているのは、Variadic Templatesは、そ