Espacios de nombres
Variantes
Acciones

std::basic_string::swap

De cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
 
void swap( basic_string& other );
(hasta C++17)
void swap( basic_string& other ) noexcept(/* véase abajo */);
(desde C++17)
(hasta C++20)
constexpr void swap( basic_string& other ) noexcept(/* véase abajo */);
(desde C++20)

Intercambia el contenido de la cadena con los de other. Todos los iteradores y referencias siguen siendo válidas.

El comportamiento está indefinido si Allocator no se propaga durante el intercambio y los asignadores de *this y de other no se comparan como iguales.

(desde C++11)

Contenido

[editar] Parámetros

other - La cadena con la cual intercambiar el contenido.

[editar] Valor de retorno

(Ninguno)

[editar] Complejidad

Constante.

Excepciones

Especificación noexcept:   (desde C++11)
noexcept(std::allocator_traits<Allocator>::propagate_on_container_swap::value
|| std::allocator_traits<Allocator>::is_always_equal::value)
(desde C++17)

[editar] Ejemplo

#include <string>
#include <iostream>
 
int main() 
{
    std::string a = "AAA";
    std::string b = "BBB";
 
    std::cout << "antes del intercambio" << '\n';
    std::cout << "a: " << a << '\n';
    std::cout << "b: " << b << '\n';
 
    a.swap(b);
 
    std::cout << "despues del intercambio" << '\n';
    std::cout << "a: " << a << '\n';
    std::cout << "b: " << b << '\n';
}

Salida:

antes del intercambio
a: AAA
b: BBB
despues del intercambio
a: BBB
b: AAA