std::pair
De cppreference.com
<tbody>
</tbody>
| Definido en el archivo de encabezado <utility>
|
||
template< class T1, class T2 > struct pair; |
||
std::pair o par, es una plantilla de clase que proporciona una manera de almacenar un par de objetos heterogéneos como una sola unidad. std::pair es un caso específico de std::tuple, una tupla con dos elementos.
Si ni T1 ni T2 son un tipo clase posiblemente calificado-cv con un destructor no trivial, o un array de tal clase, el destructor de std::pair es trivial.
Parámetros de plantilla
| T1, T2 | - | Los tipos de los elementos que el par almacena. |
Tipos miembro
| Tipo miembro | Definición |
first_type
|
T1
|
second_type
|
T2
|
Objetos miembro
| Nombre del miembro | Tipo |
first
|
T1
|
second
|
T2
|
Funciones miembro
| Construye un nuevo par. (función miembro pública) | |
| Asigna el contenido. (función miembro pública) | |
(C++11) |
Intercambia el contenido (función miembro pública) |
Funciones no miembro
Crea un objeto de tipo pair, definido por los tipos de los argumentos. (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 del par. (plantilla de función) |
(C++11) |
Especializa el algoritmo std::swap. (plantilla de función) |
(C++11) |
accede a un elemento de un par. (plantilla de función) |
Clases auxiliares
(C++11) |
Obtiene el tamaño de un par. (especialización de plantilla de clase) |
| Obtiene el tipo de los elementos de un par. (especialización de plantilla de clase) | |
Obtiene el tipo referencia común de dos tipos pair. (especialización de plantilla de clase) | |
(C++23) |
Obtiene el tipo común de dos tipos pair. (especialización de plantilla de clase) |
Guías de deducción(desde C++17)
Informes de defectos
Los siguientes informes de defectos de cambio de comportamiento se aplicaron de manera retroactiva a los estándares de C++ publicados anteriormente.
| ID | Aplicado a | Comportamiento según lo publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 2796 | C++98 | No se especificaba la trivialidad del destructor de pair.
|
Se especifica. |
Véase también
(C++11) |
Implementa un contenedor de tamaño fijo, que contiene elementos de tipos posiblemente diferentes. (plantilla de clase) |
| Crea una tupla de referencias lvalue o desempaca una tupla en objetos individuales. (plantilla de función) |