运行期以索引获取tuple元素-C++11之2
来源:互联网 发布:淘宝韩版男装代理货源 编辑:程序博客网 时间:2024/05/29 03:16
http://blog.csdn.net/csdnnews/article/details/78859701
//运行期以索引获取tuple元素-C++11之2//需支持C++11及以上标准的编译器,VS2017 15.5.x、CodeBlocks 16.01 gcc 7.2//参见《深入应用C++11:代码优化与工程级应用》p148,祁宇,机械工业出版社,2015年05#include <iostream>#include <tuple>using namespace std;template <typename Arg>void GetArgByIndex(size_t index, tuple<Arg>& tp){ cout << get<0>(tp) << endl; }template <typename Arg, typename... Args>void GetArgByIndex(size_t index, tuple<Arg, Args...>& tp){ if (index < 0 || index >= tuple_size<tuple<Arg, Args...>>::value) { throw invalid_argument("index is not valid"); } if (index > 0) GetArgByIndex(index - 1, (tuple<Args...>&) tp); else //index == 0 cout << get<0>(tp) << endl;}int main(void){ auto tp = make_tuple(1, 2, "test", 3); size_t len = tuple_size<decltype(tp)>::value; //打印每个元素 for (size_t i = 0; i < len; ++i) { GetArgByIndex(i, tp); } return 0;}
阅读全文
0 0
- 运行期以索引获取tuple元素-C++11之2
- Python基础篇之tuple二.(创建单元素tuple)
- halcon学习之tuple元素排序操作
- Python之创建单元素tuple
- Python之创建单元素tuple
- 巧用enum来获取std::tuple中的元素
- C++11::遍历tuple中的元素
- C++TR1学习笔记之tuple
- Knockout获取数组元素索引的2种方法
- c++ 11 之 tuple类型
- C / C + +运行期启动函数
- 运行期获取控件全部事件
- 创建单元素tuple
- 创建单元素tuple
- 关于C/C++运行期库
- 关于C/C++运行期库
- 关于C/C++运行期库
- C/C++运行期堆栈【转】
- 通过ajax将list传到后台的两种实现方式
- RecyclerView、ListView实现单选列表的优雅之路.
- redis-redis官网下载步骤(包含windows版)
- Unity3D研究院之UGUI一个优化效率小技巧
- ubuntu server 安装pwntools可能出现的问题解决
- 运行期以索引获取tuple元素-C++11之2
- ViewPager轮播图引导页代码和适配器
- 购物车之订单
- ISMS信息安全管理体系与信息系统安全等级保护标准的异同点
- C语言--iota函数
- RecyclerView使用
- echart-折线图
- tablayout自定义布局
- 图像处理之图像去雾中文综述性论文