c++笔记——tuple

在c++ 11标准库中,加入了std::tie,在c++ 14中改进,方便使用。 其与tuple关系密切, 主要目的是方便地使用tuple

std::tie

一般std::tie有2个作用:

  • 创建一个std::tuple;
  • 解包标准库中的一些集合类,简化访问方法。

元组 std::tuple

元组tuple,有人认为是std::pair扩展。pair只能把2个数据打包,而tuple可以打包更多的数据。tuple的数据类型也可以是不相同的。“快速而随意的”数据结构。

复制代码
void initTuple(){
    //默认初始化3个成员为0
    tuple<size_t, size_t, size_t> threeD;

    //直接初始化
    tuple<string, vector<double>, int, list<int> > someVal("constants", {3.12, 2.7}, 42, {0, 1, 3, 4});

    //赋值初始化
    tuple<size_t, size_t, size_t> threeD1 = {1, 2, 3};

    //make_tuple
    auto item = make_tuple("0-999-78345-x", 3,  20.00);

    //访问tuple的成员
    auto book = get<0>(item);
    auto cnt = get<1>(item);
    auto price = get<2>(item);

    cout << "book : " << book << endl;
    cout << "cnt : " << cnt << endl;
    cout << "price : " << price << endl;
}
复制代码

 

posted @   水水滴答  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
点击右上角即可分享
微信分享提示