C++1zでは、「畳み込み式 (Fold expressions)」という機能が入ります。これは可変引数テンプレートのパラメータパックに対して集計操作を行うためのものです。 たとえば、整数のシーケンスを与えてその合計値を求める計算は、以下のように書けます: #include <iostream> template <class... Args> int sum(Args... args) { // 「... @ args」が畳み込み式。@の部分は任意の二項演算子 return (... + args); } int main() { int x = sum(1, 2, 3, 4, 5); std::cout << x << std::endl; // 15 } このような計算はこれまで再帰を使用して実装する必要がありましたが、より簡潔に書けるようになりました。 ここでは、argsパラメータ