tr1里的tuple,相当于stl里面pair的扩展。pair只能放两个元素,而tuple至少可以放10个元素。

#include<tr1/tuple>
using namespace std::tr1;

tuple object可以由构造函数生成,也可以通过make_tuple和tie这两个函数生成。

//构造函数
tuple<int, int> tii(0, 0);

//make_tuple
tuple<int, int> tii = make_tuple(0, 0);

//tie
int i=0;
int j=0;
tuple<int, int> tii = tie(i, j);

tie与make_tuple的区别是,由tie生成的tuple对象,其中所有的元素都是引用类型。

tuple object生成后,可以通过tuple_size和tuple_element来获得该tuple object中元素的个数和每个元素的type信息。

cout<<tuple_size<tii>::value; //应该输出2,因为tii里面有两个元素

cout<<type_id(tuple_element<0, tii>::type).name(); //应该输出int,第0个元素的类型是int

其中value是tuple_size的静态成员,所以可以直接用::来获得。
同样,type是tuple_element的静态成员。type_id是一个操作符,帮助把类型转化为可读的形式。

通过函数get可以返回一个tuple object中的一个元素的引用,所以可以对tuple object中特定的元素进行读和写的操作。

get<0>(tii) = 2; //现在tii的值是(2, 0)
get<1>(tii) = 3; //现在tii的值是(2, 3)了。

TR1 tuple的用法相关推荐

  1. c++ tuple的用法

    转自:http://www.cnblogs.com/qicosmos/p/3318070.html 这次要讲的内容是:c++11中的tuple(元组).tuple看似简单,其实它是简约而不简单,可以说 ...

  2. python元祖用法_Python序列(列表list和元组tuple)用法完全攻略

    所谓序列,指的是一种包含多项数据的数据结构,序列包含的多个数据项(也叫成员)按顺序排列,可通过索引来访问成员. Python 的常见序列类型包括字符串.列表和元组.前一章介绍过的字符串,其实就是一种常 ...

  3. tuple python怎么用_python tuple基本用法

    标签: 最近学习Django,在配置templates的路径TEMPLATE_DIRS的时候,死活要给我抱一个错:The TEMPLATE_DIRS setting must a tuple.原来tu ...

  4. [转载] python中元组(tuple)用法总结

    参考链接: Python | tuple函数 一.tuple也是一个class,是不可变的list类型,不可以增删改. 创建: tup1 = ('physics', 'chemistry', 1997 ...

  5. python tuple基本用法

    目录 1  没有什么用的 1.1  获取属性时自动调用 __getattribute__() 1.2  返回变量的可迭代对象 __iter__() 1.3  实例化后自动调用,调用顺序在__init_ ...

  6. python中元组(tuple)用法总结

    一.tuple也是一个class,是不可变的list类型,不可以增删改. 创建: tup1 = ('physics', 'chemistry', 1997, 2000); tup2 = (1, 2, ...

  7. [转载] python tuple类型如何索引_Python基础数据类型——tuple浅析

    参考链接: Python tuple() Python中tuple的使用 一.什么是元组? 有序列表叫元组:tuple.tuple和list非常类似,但是tuple一旦初始化就不能修改. 二.用法 1 ...

  8. php 元组,C++_浅析C++标准库元组(tuple)源码,一、什么是元组 元组不是什 - phpStudy...

    浅析C++标准库元组(tuple)源码 一.什么是元组 元组不是什么新鲜东西,在数学.python语言还有我们今天要说的C++都有元组. 简单地说,元组就是一组东西,例如,在讲代数拓扑的时候,经常把拓 ...

  9. 2020-09-11 C++ 11 tuple元组和tie()的简单介绍

    原文 :https://www.cnblogs.com/qicosmos/p/3318070.html 这次要讲的内容是:c++11中的tuple(元组).tuple看似简单,其实它是简约而不简单,可 ...

最新文章

  1. c+和python的区别-python和c先学哪个
  2. [小技巧]ASP.NET Core中如何预压缩静态文件
  3. (第2篇)一篇文章教你轻松安装hadoop
  4. [react] 举例说明在react中怎么使用样式
  5. element 项目 示例_Java ArrayDeque element()方法与示例
  6. 草稿 12月第2周 排课
  7. 计算机域名DNS设置,电脑的IP地址和DNS域名服务器如何设置
  8. CRLF对GIT DIFF的影响
  9. linux ruby安装目录,SuseLInux下安装Ruby 及 Rails遇到的问题及解决方法
  10. 趋势防毒墙网络版的安装部署(officescan)
  11. 人工智能的主要风险因素有哪些?
  12. 探索SpringCloud+ES实现高性能全文检索
  13. python 量化投资 长期横盘_python量化投资才是最正确的方式,只教方法,不股荐!...
  14. 如何让你的网站地址在发送到QQ朋友的时候显示绿色安全图标呢?
  15. 不要女程序员,公司都爱招男性程序员,这是为什么?
  16. Spring到底是什么
  17. 常用数据指标缩写以及说明(uv、pv、br、cr、dau……):
  18. Python教程: ‘==‘ 与‘is‘ 以及它们背后的小秘密
  19. 可跨页字符串:使用Spans设置文本样式
  20. 深信服行为感知命令执行漏洞

热门文章

  1. pyautogui 鼠标键盘自动化 库的中文版
  2. Geohash第三方库示例
  3. pdf合并与拆分软件的使用
  4. 黑马程序员—写给各位同学,并致黑马各位老师的一封感谢信~~~~绝对给力
  5. vue路由匹配上之后,但页面空白的问题
  6. Arcgis选择自己想要的区域地图
  7. C++版本OpenCv教程(十一)多通道分离与合并
  8. 【hadoop生态之Hive】Hive的查询语言【笔记+代码】
  9. r720换固态硬盘后如何重装系统_联想解决R720在Raid模式下重装Win10系统无法识别固态硬盘的问题...
  10. java pv uv_什么是pv和uv?