std::pair<T1,T2>::swap
De cppreference.com
void swap(pair& other) noexcept(/* véase más abajo */); |
(desde C++11) (hasta C++20) |
|
constexpr void swap(pair& other) noexcept(/* véase más abajo */); |
(desde C++20) | |
Intercambia first con other.first y second con other.second.
Parámetros
| other | - | Par de valores a intercambiar. |
Valor de retorno
(Ninguno)
Excepciones
|
Especificación noexcept: (desde C++11)
En la expresión de más arriba, el identificador |
(hasta C++17) | ||||||
|
Especificación noexcept: (desde C++11)
|
(desde C++17) |
Ejemplo
Ejecuta este código
#include <iostream>
#include <utility>
#include <string>
int main()
{
std::pair<int, std::string> p1, p2;
p1 = std::make_pair(10, "prueba");
p2.swap(p1);
std::cout << "(" << p2.first << ", " << p2.second << ")\n";
}
Salida:
(10, prueba)
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 2456 | C++11 | La especificación noexcept está mal formada.
|
Se hizo funcionar. |
Véase también
| Intercambia los valores de dos objetos (plantilla de función) |