zoukankan      html  css  js  c++  java
  • 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 转载请注明出处

  • 相关阅读:
    Python汉字转换成拼音
    python之Tkinter控件学习
    python 函数式编程:高阶函数,map/reduce
    python的高级特性:切片,迭代,列表生成式,生成器,迭代器
    python tkinter Listbox用法
    python函数定义语法总结
    Cmder 快捷键
    录音水波动画
    图片截取部分显示
    移动web在ios和android下点击元素出现阴影问题
  • 原文地址:https://www.cnblogs.com/IS2120/p/6746035.html
Copyright © 2011-2022 走看看