std::swap(std::basic_string)
Von cppreference.com
< cpp | string | basic string
| Definiert in Header <string> |
||
template< class CharT, class Traits, class Alloc > void swap( std::basic_string<CharT, Traits, Alloc>& lhs, |
(bis C++17) | |
| template< class CharT, class Traits, class Alloc > void swap( std::basic_string<CharT, Traits, Alloc>& lhs, |
(seit C++17) (constexpr seit C++20) |
|
Spezialisiert den std::swap Algorithmus für std::basic_string. Vertauscht die Inhalte von lhs und rhs.
Entspricht lhs.swap(rhs).
Inhalt |
[bearbeiten] Parameter
| lhs, rhs | - | Strings, deren Inhalte vertauscht werden sollen |
[bearbeiten] Rückgabewert
(keine)
[bearbeiten] Komplexität
Konstant.
Ausnahmennoexcept-Spezifikation:
noexcept(noexcept(lhs.swap(rhs))) |
(seit C++17) |
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#include <iostream> #include <string> int main() { std::string a = "AAA"; std::string b = "BBBB"; std::cout << "Before swap:\n" "a = " << a << "\n" "b = " << b << "\n\n"; std::swap(a, b); std::cout << "After swap:\n" "a = " << a << "\n" "b = " << b << '\n'; }
Ausgabe
Before swap: a = AAA b = BBBB After swap: a = BBBB b = AAA
[bearbeiten] Fehlerberichte
Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 2064 | C++11 | Der Nicht-Member-swap war noexcept und inkonsistent mit dem Member-swap |
noexcept entfernt |
[bearbeiten] Siehe auch
| tauscht die Inhalte (öffentliche Member-Funktion) |