boost tuple笔记(待续)

tuple

 

//z 2011-06-18 22:35:34@is2120.CSDN 转载请注明出处
1. 概述
定义了一个有固定数目元素的容器,每个元素类型可以不同。类似pair,只是里面的元素更多。
可以将pair可以看作tuple的特例,tuple是pair的泛化。
tuple已被收入 c++ 0x TR1草案。

2. 类摘要
template <class T0,...,class T9>
class tuple
{
public:
    tuple();
    tuple(T0 to,...);
    tuple(const tuple<...>&);
    tuple& operator=(const tuple&);
    tuple& operator=(const std::pair&);
   
    template <int N> T get();
};

3. 细节
示例:
typedef tuple<int,string> my_tuple;
typedef tuple<int,my_tuple1> my_tuple2;

为方便创建tuple对象,tuple提供了make_tuple()函数。

访问元素
tuple中的 get<>()成员函数访问内部的值。
BOOST_AUTO(t,make_tuple(1,"char[]",100.0));
assert(t.get<0>() == 1);
assert(t.get<2>()==100.0);
cout << t.get<1>();
cout << ++t.get<0>();

------------------------------------------------------------------
//z 2011-06-18 22:35:34@is2120.CSDN 转载请注明出处
#include  <cassert>
#include  <string>
#include  <boost/tuple/tuple.hpp>
#include  <boost/tuple/tuple_comparison.hpp>

using  namespace  std;
using  namespace  boost;

int  main()
{
    typedef  tuple<int  ,double  ,string > my_tuple;

    my_tuple t1 = make_tuple(1 ,100.0 ,string("abc" ));
    my_tuple t2 = make_tuple(1 ,200.0 ,string("def" ));
    assert(t1<t2);

    my_tuple t3(t2);
    assert(t2==t3);

    return  0 ;
}

//z 2011-06-18 22:35:34@is2120.CSDN 转载请注明出处

转载于:https://www.cnblogs.com/IS2120/archive/2011/06/18/6746035.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值