C++变参模板之空参包的特殊情况

空参包的特殊情况

回到前面我们需要传入空参时该怎么处理?很简单,我们直接用二元折叠表达式就是设定一个初值即可。

复制代码
template <typename... Args>
auto getSum(Args... args) {
    return (args + ... + 0);
}

int main() {
    getSum();
}

那么,是所有一元折叠表达式都不可以传入空参吗?

并非如此,标准规定只有 && || ,这三个运算符是合法操作,并做出了如下规定:

&& 空包的值为

空包的值为

空包的值为

小结

变参模板的出现,极大的提高了编码的编码的便捷性。并对于一些历史遗留问题,如:变参宏难以编写和调试,一些旧库的参数个数限制等等问题,将不复存在。

可能一些朋友对模板元编程并不感兴趣,但是我们目前很多常用的库和特性都依赖于变参模板的技术,如: 等等。相信阅读完本文后,再去查看这些库的源码时能更加如鱼得水。

相关推荐
wechatbot8886 分钟前
极客互动企业微信 SCRM 自动运营平台效果实测
java·微信·企业微信·rpa
需要82610 分钟前
JVM 内存区域与对象创建:一次 GC 从哪来
java·jvm·spring boot·spring·servlet·tomcat
伞伞悦读33 分钟前
【第37期】Python JSON 与配置详解:序列化、反序列化、嵌套结构和配置文件
开发语言·python·json
事圆则缓34 分钟前
Java 转 Kotlin 的 Android 迁移路线
java
计算机毕设定制辅导-无忧学长40 分钟前
《基于Vue的流浪动物救助中心管理系统的设计与实现》
java·vue.js·spring boot·流浪动物救助中心管理系统
CCCCCCCCharlie41 分钟前
Linux进程控制四大核心操作
linux·开发语言
Mikko742 分钟前
jackson-databind 升到 2.21.6 就安全了吗?jackson-core 是另一个坐标,它那条 high 全局库至今没收
java·后端·安全·json
Java_AI工程师43 分钟前
90%的人写Function Calling,只写了"把参数传给工具执行"这一步,剩下的参数校验、错误重试、超时控制、结果格式化,全是空白。
java·人工智能·程序员
斯维赤1 小时前
LangChain4j 入门教学(Java 后端狂喜版
java·后端
Java_2017_csdn1 小时前
Java 8 Stream API 中的 map 和 flatMap 详解
java