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)
constexprvoid 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
close