在STL(标准模板库)中,pair对组是一种将两个不同的数据类型封装在一起的容器。具体来说,pair对组提供了一种简单的方式来存储和访问两个元素。
pair对组的用法非常简单,需要包含"utility"头文件。以下是一些常见的pair对组使用方法:
-
创建pair对组:
std::pair<int, std::string> p1; // 默认构造函数创建一个空的pair对组 std::pair<int, std::string> p2(1, "Hello"); // 使用两个参数创建pair对组 std::pair<int, std::string> p3 = std::make_pair(2, "World"); // 使用make_pair创建pair对组
-
访问pair对组的元素:
std::pair<int, std::string> p(1, "Hello"); int firstElement = p.first; // 访问第一个元素 std::string secondElement = p.second; // 访问第二个元素
-
修改pair对组的元素:
std::pair<int, std::string> p(1, "Hello"); p.first = 2; // 修改第一个元素 p.second = "World"; // 修改第二个元素
-
比较pair对组:
std::pair<int, std::string> p1(1, "Hello"); std::pair<int, std::string> p2(2, "World"); bool isEqual = (p1 == p2); // 比较两个pair对组是否相等 bool isNotEqual = (p1 != p2); // 比较两个pair对组是否不相等
下面是一个完整的示例代码:
#include <iostream>
#include <utility>
int main() {
std::pair<int, std::string> p(1, "Hello");
std::cout << "First element: " << p.first << std::endl;
std::cout << "Second element: " << p.second << std::endl;
p.first = 2;
p.second = "World";
std::cout << "Modified first element: " << p.first << std::endl;
std::cout << "Modified second element: " << p.second << std::endl;
std::pair<int, std::string> p2(2, "World");
bool isEqual = (p == p2);
std::cout << "p and p2 are equal: " << isEqual << std::endl;
return 0;
}
这段代码创建了一个pair对组p,元素分别为1和"Hello"。然后访问并输出了pair对组的元素。接着修改了pair对组的元素,并再次输出。最后比较了两个pair对组是否相等。