Spec-Zone.ru › C++

std::pair

Определено в заголовке <utility>
template<
    class T1,
    class T2
> struct pair;

std::pair — это шаблон класса, предоставляющий способ хранения двух разнородных объектов как единого целого. Пара — это частный случай std::tuple с двумя элементами.

Если ни T1, ни T2 не являются, возможно, квалифицированным классом-типом с нетривиальным деструктором, или массивом такого класса, то деструктор pair тривиален.

Параметры шаблона

T1, T2 - типы элементов, которые хранит пара.

Типы-члены

Тип члена Определение
first_type T1
second_type T2

Объекты-члены

Имя члена Тип
first T1
second T2

Члены-функции

(конструктор)
создает новую пару
(публичный член-функция)
operator=
присваивает содержимое
(публичный член-функция)
swap
(C++11)
меняет содержимое
(публичный член-функция)

Внешние функции

make_pair
создает объект типа pair, определяемый типами аргументов
(шаблон функции)
operator==operator!=operator<operator<=operator>operator>=operator<=>
(удалено в C++20)(удалено в C++20)(удалено в C++20)(удалено в C++20)(удалено в C++20)(C++20)
лексикографически сравнивает значения в паре
(шаблон функции)
std::swap(std::pair)
(C++11)
специализация алгоритма std::swap
(шаблон функции)
get(std::pair)
(C++11)
доступ к элементу pair
(шаблон функции)

Вспомогательные классы

std::tuple_size<std::pair>
(C++11)
получает размер pair
(специализация шаблона класса)
std::tuple_element<std::pair>
(C++11)
получает тип элементов pair
(специализация шаблона класса)
std::basic_common_reference<std::pair>
(C++23)
определяет общий тип ссылки двух pair
(специализация шаблона класса)
std::common_type<std::pair>
(C++23)
определяет общий тип двух pair
(специализация шаблона класса)
std::formatter<pair-or-tuple>
(C++23)
поддержка форматирования для pair и tuple
(специализация шаблона класса)

Правила вывода типов(с C++17)

Отчеты об ошибках

Следующие изменения поведения отчетов об ошибках были применены ретроактивно к ранее опубликованным стандартам C++.

DR Применено к Поведение, как опубликовано Корректное поведение
LWG 2796 C++98 тривиальность деструктора pair была неопределенной определенная

См. также

tuple
(C++11)
реализует контейнер фиксированного размера, который хранит элементы, возможно, разных типов
(шаблон класса)
tie
(C++11)
создает tuple ссылок на значения или распаковывает кортеж в отдельные объекты
(шаблон функции)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/pair

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API