C++11引入了tuple(元组),tuple可以被看作是一个模板化的结构体,可以在定义时包含任意类型任意数量的成员。
可通过如下几种方式创建tuple:
tuple<int, double, string> t1 = {1, 3.14, "hello"}; //直接创建tuple
tuple<int, vector<int>> t2 = {1, {2, 3}}; //创建带有vector的tuple
auto t3 = make_tuple("hi", 8); //通过make_tuple创建tuple
vector<int> v = {1, 2, 3};
auto t4 = make_tuple("hi", v); //通过make_tuple创建带有vector的tuple
元组的元素也可以是引用或指针:
int a = 1;
int *pa = &a;
tuple<int&, int*> t{a, pa};
auto w = make_tuple(ref(a), pa);
cout<<get<0>(t)<<" "<<*get<1>(t)<<endl; //输出:1 1
cout<<get<0>(w)<<" "<<*get<1>(w)<<endl; //输出:1 1
a = 2;
cout<<get<0>(t)<<"
本文发布于:2024-02-05 06:02:55,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170725805763667.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |