std::swap(std::priority_queue)

来自cppreference.com

在标头 <queue> 定义
template< class T, class Container, class Compare >

void swap( std::priority_queue<T, Container, Compare>& lhs,

           std::priority_queue<T, Container, Compare>& rhs );
(C++11 起)
(C++17 前)
template< class T, class Container, class Compare >

void swap( std::priority_queue<T, Container, Compare>& lhs,

           std::priority_queue<T, Container, Compare>& rhs ) noexcept(/* see below */);
(C++17 起)

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

此重载只有在 std::is_swappable_v<Container>std::is_swappable_v<Compare> 均为 true 时才会参与重载决议。

(C++17 起)

参数

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

返回值

(无)

复杂度

与交换底层容器相同。

异常

noexcept 说明:  
noexcept(noexcept(lhs.swap(rhs)))
(C++17 起)

注解

尽管 std::swap 对容器适配器的重载是在 C++11 引入的, C++98 中已能用 std::swap 交换容器适配器。这种 std::swap 调用通常拥有线性时间复杂度,但实现可能提供更好的复杂度。

示例

参阅

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