std::pair - cppreference.com
From cppreference.com
|
|
||
std::pair is a class template that provides a way to store two heterogeneous objects as a single unit. A pair is a specific case of a std::tuple with two elements.
If neither T1 nor T2 is a possibly cv-qualified class type with non-trivial destructor, or array thereof, the destructor of pair is trivial.
Template parameters
| T1, T2 | - | the types of the elements that the pair stores. |
Member types
| Member type | Definition |
first_type
|
T1
|
second_type
|
T2
|
Member objects
| Member name | Type |
first
|
T1
|
second
|
T2
|
Member functions
Non-member functions
Helper classes
Helper specializations
|
|
(since C++23) | |
This specialization of std::enable_nonlocking_formatter_optimization enables efficient implementation of std::print and std::println for printing a pair object when both T and U enable it.
Deduction guides(since C++17)
Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 2796 | C++98 | triviality of the destructor of pair was unspecified
|
specified |
See also
| implements fixed size container, which holds elements of possibly different types (class template) [edit] | |
| creates a std::tuple of lvalue references or unpacks a tuple into individual objects (function template) [edit] |