C++ 获取可变模板参数类型
来源:互联网 发布:ubuntu用什么聊天工具 编辑:程序博客网 时间:2024/06/03 21:34
本文以函数模板为例进行说明,类模板可以添加相应方法实现。
含有可变模板参数的函数模板如下所示。
template <typename... Args>void Func(Args&&... args){}我们知道可变参数的类型是由编译器根据传入函数的实参推导出来的,若我们需要获取可变参数的类型,可以使用如下函数模板。
template <typename... Args>void PrintArgs(const char *desc, Args&&... args){int argn = sizeof...(Args);const char *argc[] = { typeid(Args).name()... };cout << desc << " [ size : " << argn << " ] ";for (int i = 0; i < argn; i++){cout << " [ " << argc[i] << " ] ";}cout << endl;}参数desc为描述信息,args为可变模板参数,可以配合完美转发来保留传入参数的左值引用和右值引用特性。可以用下面代码来使用此函数。
PrintArgs("Template Function Args", std::forward<Args>(args)...);
调用Func函数
Func(5, "Hello World");打印结果
Template Function Args [ size : 2 ] [ int ] [ char const [12] ]
阅读全文
0 0
- C++ 获取可变模板参数类型
- c++-可变参数模板函数
- C 可变长参数 VS C++11 可变长模板
- C 可变长参数 VS C++11 可变长模板
- C 可变长参数 VS C++11 可变长模板
- C 语言可变参数类型函数
- C 语言的可变参数类型 stdarg
- C++ 模板类型参数
- C++可变参数模板
- 可变参数模板用法
- 可变参数模板
- 可变模板参数
- 模板中的参数可变
- 可变参数变量模板
- c++可变参数模板
- C++可变参数模板
- C++ 可变参数模板
- 可变参数模板
- jQuery 新篇
- 出栈方法pop改进
- 【Effective C++】读书笔记 条款13~条款17
- 怎样分析Windows dump
- 深度学习中的Data Augmentation方法(转)
- C++ 获取可变模板参数类型
- Android与js交互(四)自定义cordova插件
- retrofit 2.3.0 接入和使用
- myeclipse创建maven项目报错问题
- BufferedReader的readLine()为非阻塞
- 几种数据库设计思想
- 快速排序
- Linux adb无法连接识别手机解决方案
- HDU-2037-今年暑假不AC