空参包的特殊情况回到前面我们需要传入空参时该怎么处理很简单我们直接用二元折叠表达式就是设定一个初值即可。template typename... Args auto getSum(Args... args) { return (args ... 0); } int main() { getSum(); }那么是所有一元折叠表达式都不可以传入空参吗并非如此标准规定只有 || ,这三个运算符是合法操作并做出了如下规定 空包的值为空包的值为空包的值为小结变参模板的出现极大的提高了编码的编码的便捷性。并对于一些历史遗留问题如变参宏难以编写和调试一些旧库的参数个数限制等等问题将不复存在。可能一些朋友对模板元编程并不感兴趣但是我们目前很多常用的库和特性都依赖于变参模板的技术如 等等。相信阅读完本文后再去查看这些库的源码时能更加如鱼得水。