std::swap
来自cppreference.com
![]() | 该页由英文版wiki使用Google Translate机器翻译而来。 该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击这里. |
(C++11前) (C++11起) | ||
template<class T > void swap( T& a, T& b ); | (1) | |
template<class T2, size_t N > void swap( T2 (&a)[N], T2 (&b)[N]); | (2) | (C++11起) |
交易给定的值.
1) 2) 目录 |
[编辑]参数
a, b | - | 的值,以进行交换 |
类型要求 | ||
-T 必须满足 MoveAssignable 和 MoveConstructible 的要求。 | ||
-T2 必须满足 Swappable 的要求。 |
[编辑]返回值
(无)
[编辑]例外
1)noexcept specification: (C++11起)
2) noexcept(noexcept( std::is_nothrow_move_constructible<T>::value&& | ||
[编辑]复杂度
1)常数
2) 线性N
[编辑]专业化
这两个自定义专业的std::swap算法和过载是允许的,但一般的重载函数模板的专业首选,因为是不允许的模板类。库函数时,总是使用用户提供的重载交换,如果他们被发现的参数相关的查找(每
Swappable
概念),.原文:
Both custom specializations and overloads of the std::swap algorithm are allowed, but the overloads are generally preferred since specializations of a function template aren't allowed for template classes. Library functions always use the user-provided overloads when swapping, if they are found by argument-dependent lookup (as per
Swappable
concept).以下重载已经提供的标准库
原文:
The following overloads are already provided by the standard library:
(C++11) | 特化std::swap算法 (函数模板) |
(C++11) | 特化的std::swap算法 (函数模板) |
(C++11) | 特化的std::swap算法 (函数模板) |
(C++11) | 特化的std::swap算法 (函数模板) |
(C++11) | 特化的std::swap算法 (函数模板) |
(C++11) | 特化的std::swap算法 (函数模板) |
特化的std::swap算法 (函数模板) | |
特化的std::swap算法 (函数模板) | |
特化的std::swap算法 (函数模板) | |
特化的std::swap算法 (函数模板) | |
特化的std::swap算法 (函数模板) | |
特化的std::swap算法 (函数模板) | |
特化的std::swap算法 (函数模板) | |
特化的std::swap算法 (函数模板) | |
特化的std::swap算法 (函数模板) | |
特化的std::swap算法 (函数模板) | |
特化的std::swap算法 (函数模板) | |
特化的std::swap算法 (函数模板) | |
特化的std::swap算法 (函数模板) | |
特化的std::swap算法 (函数模板) | |
特化的std::swap算法 (函数模板) | |
特化的std::swap算法 (函数模板) | |
特化的std::swap算法 (函数模板) | |
(C++11) | 专业的 std::swap() 算法原文: specializes the std::swap() algorithm(函数模板) |
专业的 std::swap() 算法原文: specializes the std::swap() algorithm(函数模板) | |
专业的 std::swap() 算法原文: specializes the std::swap() algorithm(函数模板) | |
专业的 std::swap() 算法原文: specializes the std::swap() algorithm(函数模板) | |
专业的 std::swap() 算法原文: specializes the std::swap() algorithm(函数模板) | |
专业的 std::swap() 算法原文: specializes the std::swap() algorithm(函数模板) | |
特化的std::swap算法 (函数模板) | |
特化的std::swap算法 (函数模板) | |
特化的std::swap算法 (函数模板) | |
(C++11) | 专业的 std::swap() 算法原文: specializes the std::swap() algorithm(函数模板) |
专业的 std::swap() 算法原文: specializes the std::swap() algorithm(函数模板) | |
(C++11) | 专业的std::swap算法 (函数模板) |
(C++11) | 专业的 std::swap() 算法原文: specializes the std::swap() algorithm(函数模板) |
(C++11) | 专业的 std::swap() 算法原文: specializes the std::swap() algorithm(函数模板) |
专业的 std::swap() 算法原文: specializes the std::swap() algorithm(函数模板) |
[编辑]示例
本章尚未完成 原因:暂无示例 |
[编辑]另请参阅
交换两个迭代器所指向的元素 (函数模板) | |
交换两个范围的元素 (函数模板) |