The swap operation is widely used in the C++ standard library. All Standard Template Library (STL) containers provide swap functionality, and there is a non-member function template, std::swap. There are also uses of swap in STL algorithms. The standard library is also a template for implementing custom features that resemble standard ones. Therefore, we'll begin our study of the swap operation with a look at the functionality provided by the standard.
Swap and the standard template library
Swap and STL containers
Conceptually, swap is equivalent to the following operation:
template <typename T> void swap(T& x, T& y) {
T tmp(x);
x = y;
y = tmp;
}
After the swap() is called, the contents of the...