头文件:<utility>
可访问属性:
first | 第一个值 |
second | 第二个值 |
可访问方法:
swap(pair) | 和另外一个pair交换值 |
其他相关方法:
make_pair(val1, val2) | 接受两个参数,返回一个pair |
swap(pair1, pair2) | 交换两个pair的值 |
get<?>(pair) | 获取pair的属性 |
例子:
例子1--构造pair:
pair<int, string> p1; //直接使用T1和T2类型的default constructor pair<int, string> p2(11, "abc"); pair<string, int> p3( piecewise_construct, forward_as_tuple("test"), forward_as_tuple(3) ); pair<int, string> p5(p2); pair<int, string> p6 = make_pair(6, "f"); pair<int, string> p7 = p6;
例子2--访问属性:
pair<int, string> p(11, "abc"); cout << "第一种访问模式:" << p.first << " : " << p.second << endl; cout << "第二种访问模式:" << get<0>(p) << " : " << get<1>(p) << endl;
例子3--关系比较:
pair<int, string> p1(1, "a"); pair<int, string> p2(1, "b"); //等价于 p1.first == p2.first && p1.second == p2.second if (p1 == p2) cout << "p1 == p2" << endl; if (p1 != p2) cout << "p1 != p2" << endl; //先比较first,相等再比较second if (p1 > p2) cout << "p1 > p2" << endl; if (p1 >= p2) cout << "p1 >= p2" << endl; if (p1 < p2) cout << "p1 < p2" << endl; if (p1 <= p2) cout << "p1 <= p2" << endl;
例子4--交换值:
pair<int, string> p1(12, "abc"); pair<int, string> p2(34, "xyz"); //第一种交换方法 p1.swap(p2); //第二种交换方法 swap(p1, p2);
时间: 2024-11-03 21:56:23