function
<string>
std::swap (string)
void swap (string& x, string& y);
Exchanges the values of two strings
Exchanges the values of string objects x and y, such that after the call to this function, the value of x is the one which was on y before the call, and the value of y is that of x.
This is an overload of the generic algorithm swap that improves its performance by mutually transferring ownership over their internal data to the other object (i.e., the strings exchange references to their data, without actually copying the characters): It behaves as if x.swap(y) was called.
Parameters
- x,y
- string objects to swap.
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
// swap strings
#include <iostream>
#include <string>
main ()
{
std::string buyer ("money");
std::string seller ("goods");
std::cout << "Before the swap, buyer has " << buyer;
std::cout << " and seller has " << seller << '\n';
swap (buyer,seller);
std::cout << " After the swap, buyer has " << buyer;
std::cout << " and seller has " << seller << '\n';
return 0;
}
|
Output:
Before the swap, buyer has money and seller has goods
After the swap, buyer has goods and seller has money
|
Iterator validity
Any iterators, pointers and references related to both x and y may be invalidated.
Data races
Both objects, x and y, are modified.
Exception safety
No-throw guarantee: this member function never throws exceptions.
See also
- string::swap
- Swap string values (public member function)
- swap
- Exchange values of two objects (function template)
- swap_ranges
- Exchange values of two ranges (function template)