折叠表达式:一元折叠,二元折叠

折叠表达式:一元折叠,二元折叠 如你所知在 C17 中引入了折叠表达式 的新特性。可以通过二元运算符对形参包进行统一的运算。折叠表达式是 C17 引入的一种新特性它允许对模板参数包进行递归操作能够优雅且高效地处理可变参数模板中的参数。这种表达式可以应用于对参数包的每个元素执行相同的计算或比较操作。有如下四种形式(形参包 op ...)(... op 形参包)(形参包 op ... 初始值)(初始值 ... op 形参包)一元折叠二元折叠我们将没有初始值的形式叫做一元折叠表达式反之则为二元折叠表达式。一元折叠template typename... Args auto getSum(Args... args) { return (args ...); }二元折叠template typename... Args auto getSum(Args... args) { // 设定初始值为0 return (args ... 0); }