美文网首页
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