TR1 tuple的用法
来源:互联网 发布:安卓模拟器优化 编辑:程序博客网 时间:2024/04/29 13:33
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)了。
#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)了。
0 0
- TR1 tuple的用法
- TR1 tuple的用法
- TR1 tuple的用法
- c++ tr1和Boost中,tuple、tie的用法
- tr1::bind与tr1::function的用法与具体应用
- C#Tuple的用法
- C# Tuple的用法
- C#Tuple的用法
- std::auto_ptr和tr1::shared_ptr的用法
- C++TR1学习笔记之tuple
- c++中关于智能指针std::tr1::shared_ptr的用法
- scala List和Tuple的用法
- C++11的tuple用法笔记
- TR1 正则表达式简单用法
- tr1的正则表达式
- 智能指针std::auto_ptr和tr1:shared_ptr用法(总结的最好的一篇)
- boost::tuple 用法详解
- TR1中is_base_of的实现
- 获取实现接口的的第一个泛型实例工具类
- Palindrome Pairs
- MVC框架的封装(十)medoo数据类
- [LeetCode] Sort Characters By Frequency(Java)
- [LeetCode]328. Odd Even Linked List
- TR1 tuple的用法
- python用图片浏览器打开图片
- 欢迎使用CSDN-markdown编辑器
- 好习惯之函数先声明
- An internal error occurred during:"Updating indexes".Java heap space
- cf 749 A. Bachgold Problem
- 前端js中的引号问题
- 20161226 VBA密码破解
- 初学java总结