内容: 记录一下在书里学到的利用c++11实现可变参数模板函数,我今天写下第一种实现方式,利用递归函数方式展开参数包,你需要提供一个参数包展开的函数,和一个递归的终止函数,递归终止函数是用来终止递归的。
代码:
运行结果:
分析: 此代码会一直输出参数,直到执行递归终止函数。参数包Args在展开的过程中递归调用自己,每调用一次就减少参数包中的一个参数,直到没有参数的时候,那么就会调用你准备好的递归终止函数。
**注意:**上述代码在旧的vs和旧的g++版本上测试不一定通过,比如我旧的vs2012就不通过,会提示Args参数有问题。然后在我的linux上新版本g++可以编译通过,运行也能得到正确结果
下面是我的linux g++版本(输入g++ -v可以查看自己的版本)
大三学生一枚,文章均非抄袭或者模仿,均为原创,仅代表个人观点,如果文章有错误的地方,欢迎在下方提出,每条评论我都会去认真看并回复,同时感谢指正的前辈。