C++ 参考手册

位置:首页 > C++ 参考手册 >容器库 >std::array > std::swap(std::array)

template< class T, std::size_t N >

void swap( array<T,N>& lhs,

           array<T,N>& rhs );
(C++11 起)
(C++17 前)
template< class T, std::size_t N >

void swap( array<T,N>& lhs,

           array<T,N>& rhs ) noexcept(/* see below */);
(C++17 起)
(C++20 前)
template< class T, std::size_t N >

constexpr void swap( array<T,N>& lhs,

                     array<T,N>& rhs ) noexcept(/* see below */);
(C++20 起)

std::array 特化 std::swap 算法。交换 lhsrhs 的内容。调用 lhs.swap(rhs)

此重载仅若 N == 0std::is_swappable<T>::valuetrue 才参与重载决议。

(C++17 起)

参数

lhs, rhs - 要交换内容的容器

返回值

(无)

复杂度

与容器大小成线性。

异常

noexcept 规定:  
noexcept(noexcept(lhs.swap(rhs)))
(C++17 起)

参阅

交换内容
(公开成员函数)