std:: pair
|
Definido en el encabezado
<utility>
|
||
|
template
<
class
T1,
|
||
std::pair
es una plantilla de clase que proporciona una forma de almacenar dos objetos heterogéneos como una sola unidad. Un par es un caso específico de un
std::tuple
con dos elementos.
Si ni
T1
ni
T2
son un tipo de clase posiblemente calificado cv con destructor no trivial, o array de los mismos, el destructor de
pair
es trivial.
Contenidos |
Parámetros de plantilla
| T1, T2 | - | los tipos de los elementos que almacena el par. |
Tipos de miembros
| Tipo de miembro | Definición |
first_type
|
T1
|
second_type
|
T2
|
Objetos miembro
| Nombre del miembro | Tipo |
first
|
T1
|
second
|
T2
|
Funciones miembro
construye un nuevo
pair
(función miembro pública) |
|
|
asigna los contenidos
(función miembro pública) |
|
|
(C++11)
|
intercambia los contenidos
(función miembro pública) |
Funciones no miembro
crea un objeto
pair
del tipo determinado por los tipos de argumento
(plantilla de función) |
|
|
(eliminado en C++20)
(eliminado en C++20)
(eliminado en C++20)
(eliminado en C++20)
(eliminado en C++20)
(C++20)
|
compara lexicográficamente los valores en el
pair
(plantilla de función) |
|
(C++11)
|
especializa el algoritmo
std::swap
(plantilla de función) |
|
(C++11)
|
accede a un elemento de un
pair
(plantilla de función) |
Clases auxiliares
|
(C++11)
|
obtiene el tamaño de un
pair
(especialización de plantilla de clase) |
|
(C++11)
|
obtiene el tipo de los elementos de
pair
(especialización de plantilla de clase) |
determina el tipo de referencia común de dos
pair
s
(especialización de plantilla de clase) |
|
|
(C++23)
|
determina el tipo común de dos
pair
s
(especialización de plantilla de clase) |
|
(C++23)
|
soporte de formato para
pair
(especialización de plantilla de clase) |
Especializaciones auxiliares
|
template
<
class
T,
class
U
>
constexpr
bool
enable_nonlocking_formatter_optimization
<
std
::
pair
<
T, U
>>
=
|
(desde C++23) | |
Esta especialización de
std::enable_nonlocking_formatter_optimization
permite una implementación eficiente de
std::print
y
std::println
para imprimir un objeto
pair
cuando tanto
T
como
U
lo habilitan.
Guías de deducción (desde C++17)
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.
| DR | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 2796 | C++98 |
la trivialidad del destructor de
pair
no estaba especificada
|
especificada |
Véase también
|
(C++11)
|
implementa un contenedor de tamaño fijo que contiene elementos de posiblemente diferentes tipos
(class template) |
|
(C++11)
|
crea un
tuple
de referencias a lvalue o desempaqueta un tuple en objetos individuales
(function template) |