C++ pair 知识点总结

C++ pair 知识点总结
1. 基本概念
pair是 C++ STL 中的模板类,用于将两个值组合成一个单元头文件:
#include <utility>(使用map时会自动包含)常用来存储键值对、坐标、两个相关变量等
2. 定义与初始化
// 1. 默认构造
pair<int, string> p1;
// 2. 直接赋值
pair<int, string> p2(1, "hello");
// 3. 拷贝构造
pair<int, string> p3(p2);
// 4. make_pair 自动推导类型
auto p4 = make_pair(2, "world");
3. 访问成员
first:第一个元素second:第二个元素
p2.first = 10;
p2.second = "hi";
cout << p2.first << " " << p2.second << endl;
4. 常用操作
赋值
p1 = p2;
比较运算
按 first 优先比较,first 相等再比较 second 支持:==、!=、<、<=、>、>=
交换
swap(p1, p2);
// 或
p1.swap(p2);
5. 常见用法
配合
vector存多组二元数据vector<pair<int, int>> vec; vec.emplace_back(1, 2); vec.push_back({3, 4});遍历
for (auto &p : vec) { cout << p.first << " " << p.second << endl; }作为
map的元素类型map<int, string> mp; mp.insert({1, "a"}); // mp 中每个元素都是 pair<const int, string>
6. 简化写法(C++11+)
// 结构化绑定(C++17)
auto [x, y] = p2;





