C++ tuple 速记
来源:互联网 发布:淘宝优惠券怎么赚钱 编辑:程序博客网 时间:2024/05/22 19:43
简介
tuple 是C++11 以模板的形式开发的元组, 类似于pair , 但是支持任意的元素个数。
基本的操作
int main (){ /*** Construct a tuple ***/ // By constrcut std::tuple<int,char> foo (10,'x'); // By make_tuple auto bar = std::make_tuple ("test", 3.1, 14, 'y'); // By forward_as_tuple auto ref = std::forward_as_tuple(std::string("test") + "eee" , 1, 'a'); /*** Assign ***/ std::get<2>(bar) = 100; /*** Get type and get value ***/ std::tuple_element<0,decltype(bar)>::type bar_1 = std::get<0>(bar); /*** unpack a tuple ***/ int myint; char mychar; std::tie (myint, mychar) = foo; // unpack elements std::tie (std::ignore, std::ignore, myint, mychar) = bar; // unpack (with ignore) /*** get size as a type **/ std::cout << std::tuple_size<decltype(bar)>::value << "\n"; auto merge = std::tuple_cat(foo,bar); return 0;}
可以看到 , tuple的构造是比较灵活的, 可以提前声明具体实例化类型, 也可以交由编译器根据构造
参数推导。
forward_as_tuple
似的tuple对右值有较好的支持。 std::tie
和 std::ignore
在std::get
之外提供了获取tuple内部元素的方式,且
支持批量获取。
在将一个tuple视为一种特定类型的时候 : tuple_element
提供了获取对应元素的类型的途径。 tuple_size
提供了获取tuple类型大小的途径。
std::tuple_cat
提供了合并tuple为一个tuple的途径
尚未有截断tuple的直接接口。
0 0
- C++ tuple 速记
- 速记
- C#Tuple的用法
- Boost C++: 数据结构---tuple
- C#Tuple的用法
- [C++]tuple简介
- Object -C 语言语法速记代码。
- C运算符的优先级速记法
- 《c程序设计语言》读书笔记-3-3-速记扩充
- tuple
- Tuple
- tuple
- Tuple
- C语言文件操作函数open、write用法速记
- C++TR1学习笔记之tuple
- C#速记
- Screen速记
- 速记单
- NBUT 1580 素数分解dp
- 基于zend Framework 的购物车系统的实现
- HDU 1421(搬寝室)动态规划
- java正则去掉小数点后多余0
- CodeForces 569A-Music
- C++ tuple 速记
- Android javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
- 怎么把一篇pdf转换成html
- 不记录history及清除history
- 黑马程序员——24,File类,Properties类,
- 基于Zend framework的投票系统的实现
- Go 1.5关键字搜索目录、文件、文件内容_修复一个小BUG
- GreenSQL(数据库安全)学习
- 一处折腾笔记:Android内嵌html5添加原生微信分享的解决办法