c++11——tuple元组
2015-09-12 17:43
375 查看
tuple是一个固定大小的不同类型值的集合,是泛化的 std::pair。可以当做一通用的结构体使用,不需要创建结构体而又获取结构体的特征,在某些情况下可以取代结构体,使程序简洁、直观。
创建tuple
解析tuple
连接tuple
+
创建tuple
1. make_tupe tuple<const char*, int> tp = make_tuple(sendPack, nSendSize);//构造tuple 2. tie 函数(创建一个元组的左值引用) auto tp = std::tie(1, "aa", 2.2); //tp 实际类型为 std::tuple<int&, string&, int&>
解析tuple
1. get<x>() const char* data = tp.get<0>(); int a = tp.get<1>(); 2. tie int x, y; string a; std::tie(x, a, y) = tp; //则自动赋值到三个变量 也可以只解析第三个值: std::tie(std::ignore, std::ignore, y) = tp; //std::ignore为占位符
连接tuple
int main(){ std::tuple<int, std::string, float> t1(10, "test", 3.14); int n = 7; auto t2 = std::tuple_cat(t1, std::make_pair("Foo", "nar"), t1, std::tie(n)); n = 10; //t2 = {10, "test", 3.14, "Foo", "nar", 10}; //n为10,因为tie中存放的为引用 return 0; }
+
相关文章推荐
- Effective C++ —— 资源管理(三)
- c语言实现 去除字符串两端空格及回车 v1.0
- C++ Primer Plus 第九章(单独编译)
- C/C++下的JSON解析/生成库cJSON
- C/C++几种strcpy函数的实现与详解
- C++指针和引用简介
- c++11——lambda表达式
- C++字符数组的输入输出和字符串结束标志使用讲解
- C语言:二叉树的相关操作
- C++ explicit的用法
- 深入解析C++中的字符数组和处理字符串的方法
- 「C语言回 4000 顾之旅」第一篇:指针详解
- 「C语言回顾之旅」第一篇:指针详解
- C++中智能指针的设计和使用
- Windows下Setting Up a Project(建立一个工程)
- 哈希表实现电话号码查询系统(c++)
- [C++]函数调用栈
- c++11——std::function和bind绑定器
- 趣味C语言(1)---绘制余弦曲线
- C++虚析构函数、纯虚析构函数