CARVIEW |
Select Language
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Sat, 19 Jul 2025 10:42:55 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Location: /reference/array/array/swap/
HTTP/1.1 200 OK
Server: nginx
Date: Sat, 19 Jul 2025 10:42:55 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"7860-EY6C3rnMaUr/EFFqo/3uOCux9uw"
Content-Encoding: gzip
Exchanges the content of the array by the content of x, which is another array object of the same type (including the same size).
After the call to this member function, the elements in this container are those which were in x before the call, and the elements of x are those which were in this.
Unlike with the swap member functions of the other containers, this member function operates in linear time by performing as many individual swap operations between the individual elements as their size (see swap).
This member function can throw an exception if one of the element-wise swap calls throws itself an exception.
Output:
All elements in both containers are accessed by the call.
Otherwise, the container is guaranteed to end in a valid state (basic guarantee).
Reference
C library:
- <cassert> (assert.h)
- <cctype> (ctype.h)
- <cerrno> (errno.h)
-
<cfenv> (fenv.h)C++11
- <cfloat> (float.h)
-
<cinttypes> (inttypes.h)C++11
- <ciso646> (iso646.h)
- <climits> (limits.h)
- <clocale> (locale.h)
- <cmath> (math.h)
- <csetjmp> (setjmp.h)
- <csignal> (signal.h)
- <cstdarg> (stdarg.h)
-
<cstdbool> (stdbool.h)C++11
- <cstddef> (stddef.h)
-
<cstdint> (stdint.h)C++11
- <cstdio> (stdio.h)
- <cstdlib> (stdlib.h)
- <cstring> (string.h)
-
<ctgmath> (tgmath.h)C++11
- <ctime> (time.h)
-
<cuchar> (uchar.h)C++11
- <cwchar> (wchar.h)
- <cwctype> (wctype.h)
Containers:
-
<array>C++11
- <deque>
-
<forward_list>C++11
- <list>
- <map>
- <queue>
- <set>
- <stack>
-
<unordered_map>C++11
-
<unordered_set>C++11
- <vector>
-
Input/Output:
Multi-threading:
-
<atomic>C++11
-
<condition_variable>C++11
-
<future>C++11
-
<mutex>C++11
-
<thread>C++11
-
Other:
- <algorithm>
- <bitset>
-
<chrono>C++11
-
<codecvt>C++11
- <complex>
- <exception>
- <functional>
-
<initializer_list>C++11
- <iterator>
- <limits>
- <locale>
- <memory>
- <new>
- <numeric>
-
<random>C++11
-
<ratio>C++11
-
<regex>C++11
- <stdexcept>
- <string>
-
<system_error>C++11
-
<tuple>C++11
-
<type_traits>C++11
-
<typeindex>C++11
- <typeinfo>
- <utility>
- <valarray>
array
-
array::arrayC++11
member functions
-
array::atC++11
-
array::backC++11
-
array::beginC++11
-
array::cbeginC++11
-
array::cendC++11
-
array::crbeginC++11
-
array::crendC++11
-
array::dataC++11
-
array::emptyC++11
-
array::endC++11
-
array::fillC++11
-
array::frontC++11
-
array::max_sizeC++11
-
array::operator[]C++11
-
array::rbeginC++11
-
array::rendC++11
-
array::sizeC++11
-
array::swapC++11
-
non-member overloads
-
get (array)C++11
-
relational operators (array)C++11
-
non-member specializations
-
tuple_element<array>C++11
-
tuple_size<array>C++11
-
public member function
<array>
std::array::swap
void swap (array& x) noexcept(noexcept(swap(declval<value_type&>(),declval<value_type&>())));
Swap content
After the call to this member function, the elements in this container are those which were in x before the call, and the elements of x are those which were in this.
Unlike with the swap member functions of the other containers, this member function operates in linear time by performing as many individual swap operations between the individual elements as their size (see swap).
Parameters
- x
- Another array container of the same type (which includes same size) as this whose content is swapped with that of this container.
Return value
none.This member function can throw an exception if one of the element-wise swap calls throws itself an exception.
Example
|
|
Output:
first: 11 22 33 44 55 second: 10 20 30 40 50 |
Complexity
Linear: Performs as many individual swap operations as the size of the arrays.Iterator validity
The validity of all iterators, references and pointers is not changed: They remain associated with the same positions in the same container they were associated before the call, but the elements they still refer to have the swapped values.Data races
Both the container and x are modified.All elements in both containers are accessed by the call.
Exception safety
If the non-member specialization of swap for the type of the elements is non-throwing, the function never throws exceptions (no-throw guarantee).Otherwise, the container is guaranteed to end in a valid state (basic guarantee).
See also
- swap
- Exchange values of two objects (function template)
- swap_ranges
- Exchange values of two ranges (function template)
Home page | Privacy policy
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us