在没有tuple之前,如果函数需要返回多个值,则必须定义一个结构体,有了C++11,可以基于tuple直接做了,下面是个示例:

// 编译:g++ -std=c++11 -g -o x x.cpp
#include <tuple> // tuple头文件
#include <stdio.h>
#include <string>
using namespace std; // 函数foo返回tuple类型
tuple<int, string> foo(); int main()
{
// 两个不同类型的返回值a和b
int a;
string b; // 注意tie的应用
tie(a, b) = foo();
printf("%d => %s\n", a, b.c_str()); // 注意tuple是一个可以容纳不同类型元素的容器
// ,在C++11中,下面的x一般使用auto定义,这样简洁些。
tuple<int, string, char, float> x = make_tuple(2014, "tupule", 'x', 5.30);
printf("%d, %s, %c, %.2f\n", get<0>(x), get<1>(x).c_str(), get<2>(x), get<3>(x)); return 0;
} tuple<int, string> foo()
{
// 用make_tuple来构造一个tuple
return make_tuple(2014, "tuple");
}

从上述的代码,可以看出tuple是对pair的泛化。

最新文章

  1. Cordova系列(一)
  2. 抓取网页内容生成kindle电子书
  3. springmvc源码分析(转)
  4. Android SurfaceView + MediaPlayer实现分段视频无缝播放
  5. linux云计算集群架构学习笔记:命令查看文件内容
  6. 设计模式_Bridge
  7. Linux常用命令收集
  8. jquery中的全局事件
  9. 队列工厂之RedisMQ
  10. 动态绑定DropDownList
  11. windows环境下mysql主从配置
  12. 多目标跟踪(MOT)论文随笔-POI: Multiple Object Tracking with High Performance Detection and Appearance Feature
  13. python 二叉堆
  14. SUSE12Sp3-.NET Core 2.2.1 runtime安装
  15. asp.net core 依赖注入实现全过程粗略剖析(3)
  16. Luogu1081 NOIP2012 开车旅行 倍增
  17. C++复数运算 重载
  18. ActiveMQ 事务和XA
  19. 【Linux】CentOS7 安装,遇到的各种问题,并修复win7启动项
  20. Android Service总结02 service介绍

热门文章

  1. Lamp 安装教程
  2. 2017百度之星初赛A-1006(HDU-6113)
  3. SpingData 的学习
  4. Windows Azure 应用程序短暂性故障处理
  5. 记录AUTO_SPACE_ADVISOR_JOB导致负载异常
  6. SSD固态盘应用于Ceph集群的四种典型使用场景
  7. 一、linux搭建jenkins+github详细步骤
  8. Halcon函数【转】
  9. Spring+Log4j的集成总结
  10. docker学习记录1