描述
它交换 a 和 b 的值。
声明
以下是 std::swap 函数的声明。
template <class T> void swap (T& a, T& b);
C++11
template <class T> void swap (T& a, T& b)
noexcept (is_nothrow_move_constructible<T>::value && is_nothrow_move_assignable<T>::value);
参数
a, b- 这是两个对象。
返回值
空
异常
Basic guarantee- 如果类型 T 的构造或赋值抛出。
数据竞争
a 和 b 都被修改。
示例
在下面的例子中解释了 std::swap 函数。
#include <iostream>
#include <utility>
int main () {
int foo[4];
int bar[] = {100,200,300,400};
std::swap(foo,bar);
std::cout << "foo contains:";
for (int i:foo) std::cout << ' ' << i;
std::cout << '\n';
return 0;
}
让我们编译并运行上面的程序,这将产生以下结果 -
foo contains:100 200 300 400
相关用法
- C++ utility rel_ops用法及代码示例
- C++ utility piecewise_construct用法及代码示例
- C++ utility move用法及代码示例
- C++ utility make_pair用法及代码示例
- C++ utility move_if_noexcept用法及代码示例
- C++ utility forward用法及代码示例
- C++ utility declval用法及代码示例
- C++ unordered_map cbegin用法及代码示例
- C++ unordered_set max_bucket_count()用法及代码示例
- C++ unordered_multimap reserve()用法及代码示例
- C++ unordered_multimap swap()用法及代码示例
- C++ unordered_multiset get_allocator用法及代码示例
- C++ unordered_set swap()用法及代码示例
- C++ unordered_multimap rehash()用法及代码示例
- C++ unordered_set equal_range用法及代码示例
- C++ unordered_map rehash用法及代码示例
- C++ unordered_map emplace_hint()用法及代码示例
- C++ unordered_map key_eq()用法及代码示例
- C++ unordered_multiset cend()用法及代码示例
- C++ unordered_multimap get_allocator用法及代码示例
注:本文由纯净天空筛选整理自 C++ Utility Library - swap Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。