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