首页 > 其他分享 >std::tuple

std::tuple

时间:2022-11-17 11:47:34浏览次数:27  
标签:std n64 string tuple float n32

tuple的应用场景:

1.多参和多返回值

#include <iostream>
#include <tuple>

using namespace std;

tuple<string, int32_t, int64_t, float> f()
{
    string s("string");
    int32_t n32 = 100;
    int64_t n64 = 999999999999;
    float f = 3.14;

    return make_tuple(s, n32, n64, f);
}

void main()
{
    tuple<string, int32_t, int64_t, float> t = f();
    cout << get<2>(t);    //999999999999
}

 

2.自定义结构体、类实现比较操作符时

struct S {
    int n;
    string s;
    float f;

    bool operator<(const S& rhs) const {
        return tie(n, s, f) < tie(rhs.n, rhs.s, rhs.f);
    }
};

/*
上述代码会优先按照第一个字段n进行比较,相等的话进而判断第二个字段,最后到第三个字段,直到能够获得比较的结果为止。

std::tie会将函数参数打包成元组,根据元组自身的比较性质进行比较。
*/

 

标签:std,n64,string,tuple,float,n32
From: https://www.cnblogs.com/anzf/p/16898922.html

相关文章