variadic template模板参数可变化----C++学习之路
来源:互联网 发布:淘宝整机烈士墙2016 编辑:程序博客网 时间:2024/05/17 23:38
1.什么叫做variadic template?
variadic可变的,连起来就是数量不定的模板参数。
2.语法上怎么写?
直接用例子:
template<typename T,typename... TYpes>void print(const T& firstArg,const Types&... args){ cout<<firstArg<<endl; print(args...);}注意三个点不是省略,而是语法。将这个分为一个和一大块。
以这个例子,当我们调用的时候:
print(7.5,"hello",bitset<16>(377),42);7.5就是firstArg。
然后又将后面的一大块传给自己,递归下去。下一次递归“hello”就是firstArg,得到的结果就是:
7.5hello0000000010111100142当然,bitset是有重载<<这个符号。等到最后一个42的时候,就会分为一个和0个,当0个传进去就会失败
所以必须再写一个版本:
void print(){}也就是到最后0个的时候,编译器会选择用这个,所以停止了。
3. ...三点其实是一个所谓的pack(包)
用于template parameter 就是template parameter pack(模板参数包)
用于function template parameter types 就是function parameter pack(函数参数类型包)
用于function parameters就是function parameters pack(函数参数包)
4.如果我们想知道这个包有多少个:
用sizeof...(args)这就直到那一包有多少个。
,
阅读全文
0 0
- variadic template模板参数可变化----C++学习之路
- C++11标准之variadic template (可变参数模板)
- variadic template (可变参数模板)
- C++11标准新增可变参数模板(variadic template)
- C++ -- variadic template (可变参数模板)
- C++ -- variadic template (可变参数模板)
- C++ -- variadic template (可变参数模板)
- template template parameter模板模板参数笔记----C++学习之路
- C++Template学习笔记之函数模板
- C++11中可变参数个数的模板(variadic template)
- C++ - 可变参数函数模板(Variadic Function Template) 详解 及 代码
- C++template ;模板学习
- 可变参数模板(Variadic Templates)
- c++ template 学习之一:模板参数
- C/C++变长参数宏(Variadic Macros)
- Notes-7:variadic template
- C++11: variadic template
- C++ Template学习笔记之函数模板(1)——函数模板定义
- Java反射的用法
- filter就是调用test,forEach分别调用accept,collect把流生成一个list,map()返回一个Stream
- 学习ArcGIS API for JavaScript(1)
- C++进阶—>带你理解多字节编码与Unicode码
- LeetCode.281 Find the Duplicate Number
- variadic template模板参数可变化----C++学习之路
- HXH历险记
- 一步一步学调试——gdb命令小结
- QT Excel推荐库
- DOM
- struts2的ModelDriven接口和Preparable接口的机制和作用
- 第12节:Scala函数式编程进阶(匿名函数,高阶函数,函数类型推断,currying柯里化)
- 5.6
- dp之背包总结篇