美文网首页
std::tuple访问和赋值

std::tuple访问和赋值

作者: dnsir | 来源:发表于2018-11-20 22:15 被阅读122次

    1. 引言

    std::tuple是c++11新引入的数据结构,类似python中的tuple,也是std::pair的扩展,支持任意元素数目,详细可以参考,std::tuple文档

    2. c++11使用tuple

    对tuple的访问和赋值只能通过下标进行操作,代码如下:

    typedef size_t t_id;
    typedef std::string s_id;
    std::tuple<t_id, s_id> ctx;
    
    // c++ >= c++11
    // 基于下标访问和赋值
    std::get<1>(ctx) = "string";
    std::cout << "s_id = " << std::get<1>(ctx) << std::endl;
    

    3. c++14或者c++17中使用tuple

    c++14(c++17)新增了基于类型进行访问,代码如下:

        // c++ >= c++14
        // 基于类型访问和赋值
        std::get<t_id>(ctx) = 1;
        std::cout << "t_id = " << std::get<t_id>(ctx) << std::endl;
    

    4 另外两个有用的元素

    另外两个有用的操作就是std::make_tuplestd::tie,可以参看官方文档。

    相关文章

      网友评论

          本文标题:std::tuple访问和赋值

          本文链接:https://www.haomeiwen.com/subject/lnsfqqtx.html