📅  最后修改于: 2023-12-03 14:45:42.249000             🧑  作者: Mango
在 C++ 中,Pair 是一个非常有用的结构体,它可以用来存储两个任意类型的变量,这在一些场景下非常方便,比如当你需要同时存储一个键值对时,就可以使用 Pair 来存储。
在使用 Pair 的时候,通常需要将它添加到 STL 容器中,例如 vector、map 等。这时候,就需要用到 push_back 函数。
下面是一个 vector 中添加 Pair 的示例:
#include <iostream>
#include <vector>
#include <utility>
int main() {
std::vector<std::pair<int, std::string>> vec;
vec.push_back(std::make_pair(1, "apple"));
vec.push_back(std::make_pair(2, "banana"));
vec.push_back(std::make_pair(3, "orange"));
for (auto& p : vec) {
std::cout << p.first << " " << p.second << std::endl;
}
return 0;
}
上述代码中,我们先定义了一个 vector,其中存储的是 int 和 string 组成的 Pair。接下来,使用 push_back 函数将三个键值对添加到 vector 中。最后,使用 for 循环遍历 vector,并打印出每个键值对的值。
除了 vector,还有很多其他的容器也可以使用 Pair。其中,最常用的就是 map。下面是一个 map 中添加 Pair 的示例:
#include <iostream>
#include <map>
#include <string>
int main() {
std::map<std::string, int> m;
m.insert(std::make_pair("apple", 1));
m.insert(std::make_pair("banana", 2));
m.insert(std::make_pair("orange", 3));
for (auto& p : m) {
std::cout << p.first << " " << p.second << std::endl;
}
return 0;
}
上述代码中,我们定义了一个 map,其中键是字符串,值是整数。接下来,使用 insert 函数将三个键值对添加到 map 中。最后,使用 for 循环遍历 map,并打印出每个键值对的值。
在 C++ 中,使用 Pair 和容器配合可以大大简化一些处理逻辑,而 push_back 函数则是将 Pair 添加到容器中的关键。需要注意的是,在使用 push_back 函数之前,需要确保 vector 已经正确的初始化。在使用 Pair 时,我们也可以使用 make_pair 函数来快速创建 Pair 对象,而不必手动构造。