# std::swap(std::unique_ptr)

< cpp‎ | memory‎ | unique ptr

定义于头文件 `<memory>` |  |
template< class T, class D > void swap( std::unique_ptr<T, D>& lhs, std::unique_ptr<T, D>& rhs ) noexcept; |  | (C++11 起)

对 std::unique_ptr 特化 std::swap 算法。交换 `lhs` 与 `rhs` 的内容。调用 lhs.swap(rhs) 。

此重载仅若 std::is_swappable_v<D>::value 为 true 才参与重载决议。 | (C++17 起)

### 参数

lhs, rhs | - | 要交换内容的智能指针

### 返回值

（无）

### 复杂度

常数

### 参阅

swap | 交换两个对象的值 (函数模板)
swap | 交换内容 (公开成员函数)