Класс pair
Класс pair - это шаблонный класс, который позволяет хранить два значения разных типов в одном объекте. Он широко используется в стандартной библиотеке C++ (например, в контейнерах map и set). Первый элемент пары доступен через поле first, а второй - через поле second. Для создания пары можно использовать конструктор или функцию make_pair.
Синтаксис
#include <utility>
pair<T1, T2> p;
pair<T1, T2> p(val1, val2);
auto p = make_pair(val1, val2);
Пример
Давайте создадим пару, состоящую из целого числа и строки, а затем выведем ее элементы на экран:
#include <iostream>
#include <utility>
#include <string>
using namespace std;
int main()
{
pair<int, string> p(1, "abcde");
cout << p.first << " " << p.second << endl;
return 0;
}
Результат выполнения кода:
"1 abcde"
Пример
Давайте создадим пару с помощью функции make_pair и изменим ее элементы:
#include <iostream>
#include <utility>
using namespace std;
int main()
{
auto p = make_pair(1, 2);
p.first = 3;
p.second = 4;
cout << p.first << " " << p.second << endl;
return 0;
}
Результат выполнения кода:
3 4
Пример
Давайте сравним две пары. Пары сравниваются лексикографически: сначала по первому элементу, затем по второму:
#include <iostream>
#include <utility>
using namespace std;
int main()
{
pair<int, int> p1(1, 2);
pair<int, int> p2(1, 3);
if (p1 < p2) {
cout << "p1 < p2" << endl;
} else {
cout << "p1 >= p2" << endl;
}
return 0;
}
Результат выполнения кода:
"p1 < p2"